PWB 쉘

PWB shell
PWB 쉘
원저작자존 매시
개발자AT&T 벨 연구소
운영 체제유닉스
이용가능기간:영어
유형Unix 쉘

PWB 쉘(일명 Mashey 쉘)은 Unix [1]이었습니다.

역사

PWB 쉘은 톰슨 셸의 수정 버전(일반적으로 상향 호환성이 제한됨)으로 프로그래밍의 사용 편의성을 높이기 위한 추가 기능이 포함되어 있습니다.그것은 존 매시와 다른 다양한 사람들에 의해 유지되었다.[1][2][3]

PWB/UNIX는 1973년 10월 중순 Research Unix 4th Edition에서 시작되었으며, PWB 부서에서 Research Unix의 변화를 추적하고 몇 가지 기능을 추가함에 따라 이후 몇 년 동안 자주 업데이트되었습니다.PWB 쉘은 1975년 중반에 출시되었으며 버전6 Unix 기반의 PWB/UNIX를 [5]통해 사용할 수 있습니다.버전 7 Unix(1979)에서는 PWB 쉘이 Bourne 쉘로 [6]대체되었습니다.PWB 쉘은 1975-78년 [1]에 PWB/UNIX의 표준 셸이었지만 로그인 이름, 로그인 디렉토리($s) 및 TTY($t) so(1)를 취득하기 위해 새로운 시스템콜 udata(2)가 필요했기 때문에 Research Unix의 어느 에디션에서도 실행되지 않았습니다.

특장점

PWB 쉘에는 이후 많은 셸에 남아 있는 몇 가지 기능이 도입되었습니다.if 명령어와 goto 명령어가 셸 내부에서 작성되어 if-then-else-endif, switch construction이 도입된 동안 인터럽트를 무시하거나 인터럽트를 캐치하여 [1]청소를 실행할 수 있도록 확장되었습니다.간단한 변수도 사용할 수 있습니다.단, 그 이름은 1글자로 제한되어 있고 일부 문자는 특수한 목적으로 예약되어 있습니다.그 중 일부는 버전7 이후의 모든 Unix 시스템에서 볼 수 있는 환경변수의 전조입니다.

예를 들어 $s 변수는 $HOME의 상위 변수이며 경로 이름의 하드코딩을 피하기 위해 사용됩니다.$p 변수는 $PATH의 상위 변수입니다. $PATH를 사용하면 사용자가 직접 선택한 디렉토리에서 명령을 검색할 수 있습니다.당시의 대부분의 UNIX 시스템과 달리, 원래의 PWB/UNIX 컴퓨터 센터는 /bin 또는 /usr/bin의 내용을 변경할 수 없는 여러 프로그래밍 그룹에 의해 공유되었지만, 그들만의 공유 명령어 집합을 만들기를 원했다.또한 셸의 명령어 검색이 확장되어 셸 프로시저가 바이너리 명령어처럼 호출될 수 있게 되었습니다.즉, 셸이 실행 가능한 것으로 마크된 비바이너리 파일을 발견하면 다른 셸 인스턴스가 해당 파일을 셸 스크립트로 읽도록 포킹됩니다.따라서 사람들은 sh pathname/command 인수 대신 명령어 인수를 입력할 수 있습니다.이 모든 동작은 exec의 조상인 함수 pexec으로 패키지화되어 어떤 프로그램에서도 셸과 같은 방법으로 명령어를 호출할 수 있게 되었습니다.

이전에는 셸 스크립트에 대한 인수를 식별하기 위해 사용되었던 $ 문자는 변수를 참조하기 위한 마커가 되었으며, 변수의 을 큰따옴표로 묶은 문자열에 삽입하기 위해 사용할 수 있습니다.(이 기능은 나중에 셸 외에 Perl 및 PHP 프로그래밍 언어에도 표시됩니다.)

후예

이러한 특징들은 톰슨 셸의 단점을 극복하지 못했기 때문에 스티븐 본에 의해 새로운 셸이 처음부터 작성되었습니다. 셸은 톰슨 셸 및 PWB 셸과 호환되지 않지만 PWB 셸의 대부분의 기능을 포함하지만, 다양한 참가자들 사이에서 많은 논의를 거쳐 점진적으로 이루어지는 것이 아니라 처음부터 수행되었습니다.특히 환경변수와 관련 기계는 Stephen Bourne, John Mashey 및 Dennis Ritchie에 의해 이전의 제한된 기능을 대체하기 위한 일반적인 메커니즘으로 설계되었습니다.버전 7 Unix에서 Bourne 쉘이 표준 쉘로 채택된 후 PWB 쉘의 사용은 단계적으로 폐지되었습니다.단, 한동안 Bourne Shell Programming for Mashey Shell Programming이라는 내부 Bell Labs 코스가 있었습니다.(Bourne 쉘의 공개 전에 개발된 C 도 일부 기능을 계승했습니다.PWB 쉘).[citation needed]

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c d Mashey, John R. (1976-10-13). "Using a Command Language as a High-Level Programming Language". San Francisco, California, USA: Proceedings of the 2nd International Conference on Software Engineering: 169–176. Archived from the original on 12 April 2020. Retrieved 12 April 2020. In addition to these variables [$n, $p, $r, $s, and $t], the following is provided: $ contains a 5-digit number that is the unique process number of the current shell. In some circumstances, it is necessary to know the number of a process, in order to kill it, for example. However, its most common use to date has been that of generating unique names for temporary files. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  2. ^ Likic, Vladimir (28 September 2018). "Understanding Bash: Elements of Programming". Linux Journal. Archived from the original on 2018-12-21. Retrieved 2018-12-31. The original Thompson shell, the Mashey shell and the Bourne shell were all called sh, and they overlapped or replaced one another in the years 1970–1976 as they were refined and gained additional capabilities. ... The Thompson shell had no programming capabilities. This changed with the development of the Mashey shell (and later the Bourne shell).
  3. ^ Wiles, Jack (13 October 2011). TechnoSecurity's Guide to E-Discovery and Digital Forensics: A Comprehensive Handbook. Elsevier. ISBN 9780080558813. Retrieved 31 December 2018 – via Google Books.
  4. ^ Mashey, John R. (27 January 1999) [1986]. Toomey, Warren (ed.). "Re: Shell history, true facts, but long Newsgroups: net.unix-wizards". Archived from the original on 2016-10-06. Retrieved 2018-12-31. The "PWB Shell" first appeared in mid-1975. It derived from a set of requirements and suggestions from me in early 1975 in trying to do serious shell programming. In mid-1975, the shell acquired variables, including 3 that were derived from per-process data. This is where the idea of more generalised path- searching came in.
  5. ^ Chorafas, Dimitris N. (1986). Which Unix? : AT&T, IBM, and other standard bearers. McGraw-Hill. ISBN 9780070108790. Archived from the original on 2018-12-31. Retrieved 2018-12-31.
  6. ^ Iftekher, Mohammad Forhad (10 November 2015). "Evolution Of Unix / Linux Shells - Unixmen". Unixmen.com. Archived from the original on 21 July 2019. Retrieved 31 December 2018.

외부 링크