Bash 또는 Zsh, 차이점은 무엇입니까? 왜 하나를 사용합니까? [복제]


23

그래서 질문은 거의 모든 것을 말합니다. 저는 Snow Leopard를 사용하고 있으며 특히 웹을 ​​많이 사용하는 Rails 3에서 많은 웹 개발을하고 있습니다.

나는 주목할만한 블로거 등이 Zsh를 Bash보다 선호한다고 언급했지만 그 차이가 무엇인지 모르겠습니다.

아무도 나에게 어떤 차이점이 있고 어떤 것이 하나의 옵션을 선호하게 만들 수 있는지에 대해 잘 비교할 수 있습니까?



1
도움이된다면 2016 기사 : stackabuse.com/zsh-vs-bash
Cœur

사과가 zsh
amar

답변:


16

이것은 Zsh FAQ 에서 온 것입니다 .

2.5 : bash와의 유사점

Bourne-Again Shell (bash)은 또 다른 향상된 Bourne 유사 쉘입니다. 가장 명백한
zsh와의 차이점은 Korn 쉘을 에뮬레이트하려고 시도하지 않는다는 것입니다. 둘 다
포탄이 활발히 개발 중이며 아마도 너무 구체적이지 않을 수도 있습니다. 
여기. bash는 광범위하게 표준 준수 (예 : POSIX)에 더 많은주의를 기울였습니다.
더 길고, 지금까지 더 모호한 대화 형 기능 (프로그래밍 가능)을 피했습니다 
zsh에있는 완료 등).

나는 두 가지를 모두 사용했지만 기본적으로 작업하는 컴퓨터가 일관되게 bash하기 때문에 Bash를 선호합니다. 표준 준수 의견은 OS 간 일관성을 의미하기 때문에 중요합니다.

Zsh에는 훌륭한 자동 완성 기능이 있지만 원하는 것을 모르는 사례를 계속 발견했습니다. 그것은 몇 년 전 이었으므로 그때부터 개선되었을 것입니다.

set -o viBash에서 "vi-mode"( ) 를 활성화 하면 평소보다 훨씬 멋진 명령 줄 환경을 만들 수 있으므로 .bashrc파일 에서 즉시 수행 합니다.

쉘 스크립트를 작성할 때 bash 또는 zsh로 프로그래밍하지 않습니다. sh ( /bin/sh)를 사용하는 프로그램 은 가장 일반적인 분모이므로 호환성 문제가 가장 적기 때문에 sh ( )를 사용 합니다. 그것은 저를 잘 견뎌낸 오래된 습관 일뿐입니다.


2
한 가지 차이점은 와일드 카드 문자가 다르게 동작한다는 것입니다. 예를 들어, "vi"라는 파일의 모든 인스턴스를 찾으려면 command와 함께 bash를 사용할 수 있습니다 locate */vi. zsh를 사용하면 동일한 명령의 결과는 zsh: no matches found: */vi입니다. zsh에서 검색 작업을 수행하려면 검색 쿼리를 따옴표로 묶어야합니다 locate "*/vi".
프로 백업

그러나 두 예제 모두 bash에서 작동합니다.
John Stack
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.