배쉬 쉘은 30여 세 여전히 건재하다. 그것이 어디에서 왔는가 곳은, 무엇입니까, 왜 아직도 리눅스 시스템에서 가장 일반적으로 쉘입니까?
쉘은 무엇인가?
터미널 창을 열고 명령을 입력 할 때, 무언가는 의도에서, 당신이 입력 한 어떤 그림을, 당신이 요청한 작업을 실행한다. 이 작업을 수행하는 소프트웨어 쉘입니다. 쉘은 명령 인터프리터입니다. 그것은 당신이 입력 한 및 종목 명령, 디렉토리 이름, 파일 이름 및 프로그램 이름에서 당신이 무엇을 달성하고 싶은지 파악 할 수 있도록 무엇을 검색합니다.
사람들은 종종 문구 "터미널 창", "명령 줄"및 "상호 교환 쉘"을 사용하지만, 그들은 세 가지 일이야. 단말기 창은 실제의 소프트웨어 표현 텔레타이프 터미널 ...에 그것은 당신에게 컴퓨터에 대한 연결을 제공합니다. 유용하게 사용하려면, 당신은 명령 줄에서 명령을 입력 할 수 있어야합니다. 명령 라인은 쉘에서 제공하고 터미널 창은 쉘에 액세스 할 수 있습니다.
쉘은 또한 당신이 스크립트라는 텍스트 파일에 명령 모음을 소포 할 수 있습니다. 스크립트의 모든 명령은 당신을 위해 스크립트를 실행할 때마다 실행됩니다. 스크립트는 효율성, 반복성과 편리함을 제공합니다.
첫번째
유닉스
쉘이었다
톰슨 셸
, 라고 불리는
쉿
...에 그것은에 의해 작성되었습니다
켄 톰슨
누가 원래 유닉스 창립 아버지의 가장 핵심 멤버에서 가능하다
벨 연구소
...에 톰슨 쉘은 유닉스 유닉스 버전 6에 포함하여 최대 쉘 기본값으로 사용 그것은 대체되었다
Bourne 쉘
1979 년 유닉스 버전 7인치
관련된: 어떤 유닉스, 그리고 왜합니까 그것은 물질?
Bourne 쉘
쓴 Bourne 쉘,
스티븐 Bourne의
, 톰슨 쉘 업그레이드 교체했다. 심지어, 톰슨 셸과 같은 명령을 사용하여 시작되었다
쉿
기존 스크립트와의 호환성을 유지합니다. 이전 버전과의 호환성이 중요하지만, 새로운 기능은 우리가 오늘날 사용하는 많은 기능을 제공하는 것이 포함되었다.
Bourne 쉘은 대화 형 쉘과 스크립트 언어이다. 그것은 전경과 배경 작업 실행 및 기본 작업 제어를 지원했다. 파이프 및 리디렉션 루프 처리의 개선과 함께 추가되었습니다.
쉘은 지금이 더 효율적, 외부 유틸리티에 모든 것을 전달해야하지 않았다는 것을 의미, 일부는 내장 명령이 포함되어 있습니다. Bourne 쉘도 지원 "문서"여기 우아한 방법은 명령어로 데이터를 전송 자동화.
Bourne 쉘은 막대를 제기하고 새로운 표준이되었다.
관련된: 어떻게 리눅스 배쉬에서 "다음 문서"사용하기
강타의 탄생
1984 년시에서 GNU 프로젝트 수 있도록하겠다고 발표 무료 유닉스 클론 작성까지와 함께 지상에서 새로운 허용 라이선스 -THE 팀은 쉘을 필요로했다. 때 반복적으로 전혀 아무것도 제공하지 못한 GNU 프로젝트에 대한 쉘 작업을했던 자원 봉사는, 브라이언 폭스 Bourne 쉘의 복제를 작성하는 임무가 주어졌다.
그것은 새로 녹음 된 Bourne의 다시 쉘 또는 bash. 이것은 스티븐 Bourne 씨에 대한 경의의 일부이고 그것의 위해 말다툼 부분적으로. 1989 년 출시 된 이후, 쳇 레이미 배쉬 일부 버그 수정을 기여했다. 그는 결국 배쉬 쉘의 공동 메인테이너가되었다. 요즘, 그는 여전히 배쉬 프로젝트의 메인테이너이다.
Linus Torvalds.
리눅스 커널의 창조자는, 처음 두 프로그램은 그가 1991 년에 그의 새로운 커널에서 실행한다는 것을 밝혔다 강타했고,
GCC.
,
GNU의 컴파일러
...에 GNU 유틸리티와 Linux 커널과의 페어링은 서로 유익했습니다. GNU 운영 체제는 커널이 필요하며 Linux 커널은 UNIX 클론을 구성하는 다른 모든 것을 필요로했습니다.
Bash는 표준 GNU 쉘이기 때문에 모든 GNU / Linux 배포판에서 표준 셸이되었습니다. Linux가 이제 underpins 현대 세계의 놀라운 금액 ...에 Bash 쉘은 성공의 물결도 서핑했습니다.
Bash는 Bourne 쉘의 기능 집합을 통합하고 개선하지만 다른 쉘에서 영감을 얻었습니다.
C 쉘
(
CSH.
) 그리고
Kornshell.
(
ksh.
~의 예를 들어, 물결표의 확장 "
~
"가치에
$ home.
환경 변수는 C 쉘에서 나옵니다.
FC.
명령의 기본 편집기를 호출하는 명령
명령 기록
Kornshell에서 온다.
Bash는 다음과 같은 구성 파일을 도입했습니다 ".bashrc"및 ".bash_profile"파일 ...에 Bash의 명령 줄 편집은 이전 껍질의 기능을 훨씬 능가했습니다. 명령 기록에서 이전에 실행 된 명령의 조작은 C 쉘 "Bang History"기능의 향상된 버전이었습니다. 중괄호 확장은 C 쉘에서 발견되는 기능의 수퍼 세트로서 Bash에서 구현 된 Bourne 쉘에서 누락 된 기능이었습니다. 크기 제한을 제거하여 배열이 향상되었습니다. 명령 프롬프트의 매개 변수 확장 사용자는 Bash 프롬프트를 사용자 정의 할 수 있습니다.
Bash Shell은 다음과 호환되는 것을 목표로합니다 POSIX P1003.2 / ISO 9945.2 쉘 및 유틸리티 기준.
관련된: Linux가 상업용 UNIX를 죽 이었습니까?
왜 bash는 여전히 중요한 이유입니다
Bash는 기본 Linux 쉘이 작업에 달려 있지 않으면 30 년이 넘는 30 년을 지속 할 수 없었습니다. 긴 수명과 거대한 사용자 기반 때문에 Bash는 성숙하고 매우 안정적입니다. C 쉘과 Kornshell과 같은 재향 군인에서 새로운 껍질을 이용할 수있는 많은 대체 껍질이 많이 있습니다.
z 쉘 (
ZSH.
)
그리고
친절한 대화 형 껍질
(
생선
~의 Z 쉘과 물고기 껍질은 Bash가부터가하는 것과 같은 몇 가지를 달성하는 틀림없이 더 나은 방법이 아닌 몇 가지 기능을 가지고 있습니다. 왜 Bash는 여전히 지배적 인 껍질이 아직입니까?
내가 투여하기 위해 내가 불리는 모든 리눅스 기계 중에서, 나는 껍질로서 bash가없는 하나의 하나를 회상하지 않는다. 유닉스 기계, 예,하지만 리눅스 박스, 아니오. 매번 bash입니다. 그 친숙 함은 당신이 빨리 일하고 곧바로 효과적 일 수 있습니다. 이미 Bash를 알고 있으므로 학습 곡선이 없습니다. 구문의 작은 차이로 햄스트 러그를 얻지 못하면 서클에서 무언가가 작동하지 않는지 알아 내려고 노력하고 있습니다. incantation이 무엇을 해야하는지 알아낼 시간을 보냈습니다. 이것 쉘은 데드 타임이므로 잘 알려진 널리 사용되는 쉘을 사용하기 위해 클라이언트 사업의 이익을 얻고 있습니다.
많은 Linux 배포판에 적합한 문제가 있지만 이전 릴리스와의 호환성이 더 중요한 것은 중요한 쉘을 사용하거나 매우 어려워 지거나 매우 어렵습니다. 기존 스크립트를 깨뜨릴 수있는 변경 사항을 분명히 매력적으로 사용하지 않습니다. 매력적이거나 아닌 경우 가끔은 총알을 물어야 만합니다. 1967 년 9 월 3 일 Sweden은 왼쪽에서 운전에서 오른쪽으로 운전으로 바뀌 었습니다. 오전 4시 50 분에, 모든 교통량이 멈추고 천천히 길의 다른쪽으로가는 길을 만들고 한 번 더 멈 춥니 다. 오전 5시에, 교통이 진행될 수 있으며, 모두가 오른쪽으로 운전할 수 있습니다.
주저를 바래시겠습니까?
이제 실제로 나중에 일어날 수 있습니다. 우리가 최후의 날까지 배쉬를 모두 사용할 것이라는 믿음에 달리기를 원하지 않는 한, 진리는 하루가 될 가능성이 높을 것입니다. 또는 어쩌면 그것은 bash가 될 것입니다, 그러나 우리가 오늘 사용하는 껍질을 훨씬 넘어서는 멀리 향상되었습니다. 그러나 오늘날의 배쉬의 장소는 무엇이든간에 (또는 매우 거의) 역 호환 가능하거나 혜택이 무엇이든간에 충만할만한 가치가 있어야합니다.
이것은 예선하지 않습니다. 부터 버전 10.15. NS 맥 OS 애플은 bash를 떨어 뜨리고 z 쉘을 기본 쉘로 채택했다. Apple은 GNU General Public License (GPL) V.3에 문제가 있습니다. 불행히도, 그것은 bash를 사용하는 라이센스입니다. GPL v.2에서 발표 된 Bash 버전은 2007 년 버전 3.2였습니다. 현재 버전은 5.1입니다. 애플은 거의 10 년 이하의 절반이었다. 애플이 GPL V.3로 이동하지 않고 최신 쉘을 포함 할 수있는 유일한 방법은 다른 쉘으로 이동하는 것이 었습니다. 애플에게, 그것은 사기 가치가있었습니다. (그러나 당신은 여전히 할 수 있습니다 매크로에서 bash로 다시 전환하십시오 당신이 그것을 선호한다면!)
전원 사용자의 워크 스테이션과 원격으로 관리 해야하는 Business Linux 서버 간에는 차이가 있습니다. SSH 연결 이상 ...에 거의 1.50 만 명의 Amazon EC2 호스팅 서버에서, 93 % 이상이 Linux를 실행하고 있습니다 ...에 웹 서버의 거의 75 %입니다 Linux를 실행 중입니다 ...에 Red Hat, Amazon 및 Google은 Linux 사내에서 Linux를 사용하는 조직.
새로운 쉘이 그런 종류의 전 세계적으로 사기를 정당화 할 수있는 혜택을 상상하기가 어렵습니다. 그래서 BASH가 제자리에 시멘트가있는 이유입니다.
심지어 Microsoft는 이제 할 방법을 제공합니다 Windows 10에서 Linux 기반 Bash 셸 실행 ...에!