- 하나 이상의 전역변수 사용금지, 전역변수를 사용했을 시 사용한 이유 설명.
- 새로운 명령을 기다릴 때, 프롬프트 show
- bash에서와 같이 올바른 실행파일을 탐색하고 실행.(PATH 환경변수 또는 상대, 절대 경로를 기반)
- bash에서와 같이 내장기능 구현
- echo -n 옵션과 같이
- cd (상대경로, 절대경로와 같이)
- 옵션 없는 pwd
- 옵션 없는 export
- 옵션 없는 unset
- 옵션과 인수가 없는 env
- 옵션 없는 exit
- 명령어 내에 ;은 bash에서와 같이 명령어를 구분해야 함.
- '와 "은 여러 줄 명령에 대해서는 제외하고 bash에서와 같이 동작.
- 리다이렉션 <, >, >>은 파일 디스크립터 aggregation에 대해 제외하고 bash에서와 같이 동작.
- 파이프 | 은 여러 줄 명령에 대해 제외하고 bash에서와 같이 동작.
- 환경변수들($뒤에 문자가 따르는)은 bash에서와 같이 동작.
- $?는 bash에서와 같이 동작.
- crtl-c, crtl-d, crtl-\는 bash에서와 같이 동작.
- 위, 아래 방향키를 사용하여 termcap 내역을 사용해서 명령을 탐색하고 편집할 수 있어야 함.(line을 수정하는 것, history 수정이 아님.)
- 리다이렉션 << 구현.
- termcap을 사용한 고급 히스토리와 라인 편집(허용 함수만 사용해야 함.)
- 커서가 위치한 줄을 편집.
- 특정 위치에서 라인을 편집할 수 있도록 커서를 좌우로 이동. 새 문자는 클래식 쉘과 유사하게 기존 문자 사이에 삽입 되어야 함.
- 원하는 키 시퀀스를 사용하여 줄의 전체 또는 일부를 잘라내고, 복사하고, 붙여넣는 기능 구현.
- crtl+left, crtl+right를 사용하여 한 단어씩 왼쪽이나 오른쪽으로 직접 이동.
- home과 end를 누르면 라인의 처음과 끝으로 직접 이동.
- 몇 줄에 걸쳐 명령을 작성하고 편집한다. 이 경우 crtl+up, crtl+down을 사용하면 명령의 한 줄에서 다른줄로 이동할 수 있고 동일한 열 또는 그렇지 않을 경우 가장 적절한 열에 남아있다.
- &&, || 는 우선순위에 대한 괄호를 포함하여 bash에서와 같이 구현.
- bash에서와 같이 와일드카드 *를 구현.