톰슨 셸
Thompson shell원저작자 | 켄 톰슨 |
---|---|
개발자 | AT&T 벨 연구소 |
초기 릴리즈 | 1971년 11월 3일, | 전(
운영 체제 | Unix 및 Unix 유사 |
유형 | Unix 쉘 |
Thompson 쉘은 1971년 Unix의 첫 버전에 도입된 최초의 Unix 쉘로 Ken [1]Thompson에 의해 작성되었습니다.스크립팅용으로 설계되지 않은 단순한 명령어 인터프리터였지만 그럼에도 불구하고 명령줄 인터페이스에 몇 가지 혁신적인 기능을 도입하여 이후 유닉스 셸을 개발하게 되었습니다.
역사
명령줄 인터프리터의 이름 "쉘"과 셸을 운영 체제 커널 외부의 사용자 프로그램으로 만드는 개념은 Unix의 선구자 Multics에서 도입되었습니다.
Thompson 쉘의 초기 기능은 입력/출력 리다이렉션을 위한 콤팩트한 구문이었습니다.Multics에서는 명령어 입력 또는 출력을 리다이렉트하려면 리다이렉트 시작 및 정지 명령어가 별도로 필요합니다.Unix에서는 <기호 뒤에 입력 파일명 또는 출력 파일명> 기호로 구성된 명령줄에 인수를 추가하는 것만으로 명령어 기간 동안 셸이 I/O를 리다이렉트할 수 있습니다.이 구문은 1971년 Unix의 첫 번째 버전이 출시되었을 때 이미 존재했습니다.
나중에 추가된 것은 파이프의 개념이었다.Douglas McIlroy의 제안으로 리다이렉션 구문이 확장되어 어떤 명령어의 출력이 다른 명령어의 입력으로 전달될 수 있게 되었습니다.버전 3 매뉴얼에 기재되어 있는 원래 파이프 구문은 다음과 같습니다.
command1 > command2 >
이 구문은 너무 모호하여 파일 간 및 파일 간 방향 수정과 혼동되기 쉬웠습니다. 시스템은 "command2"가 명령어 "command2"인지 파일 "command2"인지 구분할 수 없습니다.버전 4에서는 구문이 파이프에 대해 및 ^ 기호를 모두 사용하도록 변경되었습니다.
command1 command2
이:정확히 같은 결과를 생산한다.
command1 ^ command2
그>기호로 바뀌었다.
command1>file1
이 file1에command1의 출력을 가할 것이다.
<>로 리디렉션<및>, 및 배관의 톰슨 셸 구문과 내구성이 있고, 그리고 몇몇 다른 운영 체제 대부분 다른 유닉스들은 조가비와 명령 포탄에, 도스, OS/2 및 MicrosoftWindows중 가장 두드러진 것에 입양된 적이 없다는 것을 증명했다.
사양 및 교체
이 조개의 디자인 의도적으로;과 goto 만약 성명, 프로그램의 흐름을 장악하기 위해 필수적인 별도의 명령으로 실행되었다minimalistic다.[1]결과적으로, 버전 6유닉스의 1975년 발표로, 그 톰슨 셸 가장 심각한 프로그래밍 작업에 적합하지 않은 것은 분명했다.
이때, 프로그래머의 Workbench유닉스 분포, 특히 존 Mashey의 개발자들이 그것 더 프로그램에 적합하게 만드는 그 톰슨 셸을 시작했다.[1]그 결과, PWB 쉘이나 Mashey 껍질로 알려진, 그리고 껍질 변수를 도입하지만 필요성이 톰슨 셸과 호환되는 남아 있기에 의해 제한 적이였죠 더 발달된 flow-control 메커니즘을 포함했다.
마침내, 톰슨 껍데기는 주요 유닉스 셸로 버전 7유닉스의 Bourne 껍질과 2BSD에 C셸, 1979년도에 발표된 것으로 교체되었다.이후 사실상 모든 현대 유닉스와 유닉스 계열 시스템 V7은 그리고 2BSD의 후손, 톰슨 셸은 일반적으로 더 이상 사용된다.그러나, 몇몇 고대 유닉스 소스 분포의 일환으로 오픈 소스 없으며 현대적인 Unices에 역사적인 증거물로 이식되어 개발한 것.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c J. R. Mashey (1976-10-13). "Using a Command Language as a High-Level Programming Language". Proceedings of the 2nd International Conference on Software Engineering: 169–176.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말)
외부 링크
- Unix 1st Edition의 Thompson 쉘 매뉴얼페이지
- Unix Time-Sharing System의 진화 - 셸의 초기 개발을 설명합니다.
- 본 셸의 기원 - 3, 4, 6판 톰슨 셸의 매뉴얼 페이지 및 초기 셸에 대한 기타 리소스
- 제6판 Thompson Shell Port - 최신 Unix 시스템에 이식된 Thompson 쉘 및 관련 유틸리티