[minishell] Builtin 함수

J_JEON·2022년 10월 21일
1

minishell

목록 보기
4/5

Builtin 함수

cd

  • 현재 작업 디렉토리를 절대경로, 상대경로 등 을 사용해 이동시켜주는 명령어

minishell 요구사항

  • 옵션없이 절대, 상대경로만을 사용할 수 있어야함

예시

> cd ../
상위 디렉토리로 이동
> cd ./
현재 디렉토리로 이동
> cd
Home 디렉토리로 이동
> cd~
Home 디렉토리로 이동
> cd JJEON/minishell
JJEON 디렉토리의 minishell 디렉토리로 이동

echo

  • 받은 인자들을 출력해주는 명령어, -n옵션 사용 시 줄바꿈을 출력하지않음

minishell 요구사항

  • -n 옵션만을 지원하는 echo

예시

> echo

> echo asd
asd
> echo -n asd
asd>
> echo -n -n -n asd
asd>
> echo -nnn -n -n asd
asd>
> echo -n -nnn -nm asd
-nm asd>
> echo asd -n
asd -n

pwd

  • 현재 작업중인 디렉토리의 경로를 출력해주는 명령어

minishell 요구사항

  • 옵션이 없는 pwd

env

  • 현재 가지고있는 환경변수들을 출력해주는 명령어
  • 단 =을 가지고있지않은 환경변수는 출력하지 않음

minishell 요구사항

  • 옵션, 인자가 없는 env

export

  • 환경변수를 추가해주는 명령어
  • 인자가 없을시 가지고있는 모든 환경변수들을 declare -x 라는 문자열과 함께 영문순으로 출력
  • 환경변수의 이름엔 0-9, a-z, _ 세가지가 들어갈 수 있고 숫자는 환경변수 이름의 시작이 될 수 없음

minishell 요구사항

  • 옵션이 없는 export

예시

> export a b c
a, b, c 라는 환경변수 3개가 생김
> export a=123 b=123 c=123
a, b, c 라는 환경변수 3개가 생기고 각각 123이라는 값을 추가해줌
> export a=123 0b=123 c=123
0b는 not a valid 하다는 에러메시지를 띄우고 a, c 환경변수는 생성됨

unset

  • 환경변수를 삭제해주는 명령어

minishell 요구사항

  • 옵션이 없는 unset

예시

> unset a b c
a, b, c 라는 환경변수가 존재한다면 삭제하고 없다면 아무일도 일어나지않음
> unset ab 0c dd
0c는 not a valid 하다는 에러 메시지를 띄우고 ab, dd는 삭제됨

exit

  • 인자로 받은 숫자중 0~255범위의 숫자를 반환하며 프로세스를 종료시켜주는 명령어
  • 만약 255이상의 숫자가 들어왔다면 255로 나눈 나머지값을 반환함
  • 숫자가 아닌 다른것이 인자로 들어왔다면 에러메시지와 함께 255를 반환함
  • 인자가 2개이상 들어왔다면 에러메시지를 띄우고 프로세스는 종료되지않음

minishell 요구사항

  • 옵션이 없는 exit
profile
늅늅

0개의 댓글