미니쉘 과제를 수행하는데 있어서, 자신이 구현해야할 기능들을 살펴보고 있다.
구현 해야 하는 것
구현 명령어 목록
리다이렉션
그외
잘 이해가 가지 않는 부분이 많아서 이제부터 그 명령어와 단어의 의미를 공부해볼 것이다.
닫히지 않은 따옴표, 특수문자(\,;등)등을 해석하지 말아야한다.
아마 따옴표 안끝나면 오류출력이나 그냥 문자열로 인식하라는 의미??인 것 같다.
명령어를 입력할 수 있는 프롬프트를 보여주어야 한다.
쉘을 실행 시켰을때 $>
이것을 출력하고 사용자에게 명령어를 입력받을 수 있게끔 하라는 의미.
작업 히스토리를 가지고 있어야 한다.
명령 히스토리라고도 하는데 쉘로 작업을 하면서 자신이 입력했던 명령어들의 목록을 뜻한다.
사용자가 입력한 명령어들을 저장을 하고 보여줄 수 있어야 한다는 의미이다.
실행파일을 찾아 실행할 수 있어야 한다.
말 그대로 사용자가 실행을 시킬 실행파일의 경로를 입력을 하면 그 경로로 찾아가 실행파일을 실행을 시켜야 한다는 뜻이다.
'는 해석 금지
쉘에서 '
를 입력을 하면 quote>
이 표시와 함께 계속해서 입력할 수 있도록 되어 있는데 이 기능을 구현하지 말라는 이야기 인 것 같다.
"는 $빼고 해석 금지
$는 변수를 의미한다. 문장이 들어왔을때 변수 말고는 단순 문자열로 인식을 하라는 의미?이다.
구현 명령어 목록
echo (-n 옵션 포함)
문자열 출력 명령어
-n은 개행 출력하지 않게 하는 옵션
(기본적으로 echo는 마지막에 개행을 출력한다.)
cd
자신이 위치하고 있는 폴더의 위치를 바꾸는 명령어
pwd
현재 자신이 위치하고 있는 폴더의 절대 경로를 출력해주는 명령어
export
사용자 환경 변수를 전역변수로 바꾸어주는 명령어
unset
지정한 전역변수를 해제해주는 명령어
env
전역 변수의 설정 및 조회를 하게 해주는 명령어
exit
shell을 종료시켜주는 명령어
리다이렉션
그외
SIGINT
터미널 인터럽트 신호.
SIGQUIT
터미널 종료 신호.
학습에 참고한 사이트