bash vs. zsh vs. fsh
1 분 소요
Intro: shell
- 대부분의 프로그래머들은 개발하는 과정에서 terminal을 필연적으로 사용하게 됩니다.
- 과거에는 GUI가 편하다고 생각했던 것 같은데, 어느새 저는 CLI(Command-Line-Interface)가 더 편한 사람이 되어버렸죠.
- 보통 그냥 terminal이라고 부르지만, 정확하게 표현하자면
Shell
이라고 부르는 것이 맞습니다. 운영체제와 사람 사이에서 마치 “껍질”처럼 존재한다는 의미로 shell이라는 이름이 붙은 것이죠.
- 하지만, 여기에도 약간씩은 서로 다른 shell들이 존재합니다. 오늘은 그 아이들을 정리해볼게요.
Bash: Bourne-again shell
- Bash는 가장 보편적으로 볼 수 있는 shell인데, GNU 진영에서 기존의 shell을 대체하기 위해서 만들어진 shell이죠.
- 맥에서는 기본적으로 터미널이 내장되어 있는데, 2019년 가을, 즉 macOS 카탈리나가 나오기 전까지는 bash가 기본 shell이었습니다.
- 무려, 처음으로 Bash가 macOS의 기본 shell이 되었던 것은 Mac OS X Jaguar부터, 즉 2002년 8월부터였는데, 약 17년 정도 사용된 다음 빠지게 된 것이죠.
zsh: Z-shell
- zsh은 기존의 Bash를 확장한 shell인데, 2019년 가을부터는 이 아이가 macOS의 기본 shell이 되었죠.
- 결론부터 말하면 라이센스의 문제이고, 기사 Why does macOS Catalina use Zsh instead of Bash? Licensing를 읽어보면 조금 더 자세한 내용이 나옵니다.
- 간략하게 말하자면, Bash의 새로운 버전은 GPLv3(GNU General Public License version 3)에 속해 있고, GPLv3에 작성된 내용들이 애플로서는 꽤나 성가셨고, 그래서 갈아탄 것이죠. 뿐만 아니라, 이 과정에서 bash뿐만 아니라, 다른 GPLv3에 속하는 패키지들을 대거 축소하기도 했습니다.
- 반면, Zsh는 MIT 라이센스를 가지고 있고, 따라서, 다른 특허들과 충돌이 발생하지 않아서, 변경하게 된 것이죠.
fish: Friendly Interactive SHell
reference
댓글남기기