본 셸

본 셸(Bourne shell, 혹은 줄여서 sh)는 유닉스 버전 7의 기본 유닉스 셸이었다. 톰프슨 셸을 대체하는 셸로서 실행파일 이름이 sh로서 같다. AT&T 벨 연구소의 스티븐 본(Stephen Bourne)이 개발했고 1977년에 처음으로 유닉스 버전 7에 포함되었다. 많은 유닉스 계정에서 기본 셸로 사용될 만큼 오랫동안 인기를 누렸다.

기원 
이 셸은 PWB 셸을 대체할 목적으로 설계되었다.

주요 목적들은 다음과 같다:
 셸 스크립트를 필터로 사용할 수 있게 하기 위해
 제어 흐름과 변수를 포함한 프로그래밍 가능성을 제공하기 위해
 모든 입출력 파일 서술자의 제어
 스크립트 내의 신호 관리 제어
 셸 스크립트를 해석할 때 문자열 길이의 제한을 없애기 위해
 매커니즘을 인용하는 문자열의 합리화 및 일반화
 환경 매커니즘.

예제 
본 셸 자체의 기능은 비교적 강력하지 않지만, 유닉스 시스템의 기본 프로그램을 조합하여 사용하면 매우 강력한 기능을 하는 스크립트를 만들 수 있다. 아래는 간단하게 현재 시간을 보고 아침, 점심을 구분해주는 스크립트이다.
 #!/bin/sh

 hour=`date +%H`
 if [ $hour -lt 10 ]; then
   echo "아침."
 fi
본 셸 자체로는 문장의 참 거짓을 구분해 주는 메커니즘을 갖고 있지 않으며, 대신에 이것은 외부 프로그램이 해 주어야 한다. 위 예제에서는 $hour 에 저장된 현재 시간과, 작거나 같다는 비교 연산자 -lt (lower than의 준말), 10, ]를 인자로 받는 외부 프로그램인 /bin/[ 가 호출되어 이 역할을 해주고 있다.

같이 보기 
 Bash

참조

외부 링크 
 고급 Bash 스크립팅 가이드

유닉스 셸
스크립트 언어
POSIX
1977년 소프트웨어
텍스트 지향 프로그래밍 언어