main()
{
while(1) {
표준입력장치에 프롬프트 표시;
명령라인 입력;
명령라인 해석
if (^D 혹은 logout) break;
else if (공백라인) continue;
자식 프로세스 생성;
if (자식 프로세스) {
명령어 실행 후 종료;
}
if (백그라운드 모드가 아니면)
자식프로세스 종료시까지 대기
}
}
위와 같이 동작하는 쉘 프로그램을 작성하는데 아래의 기본 기능은 필수적으로 제공하고, 기타 다른 쉘에서 제공하는 부가 기능들도 가능하면 제공하도록 한다.