zsh와 비교 한 bash의 고유 기능 이전) zsh

나는 꽤 오랫동안 (shsh 이전과 csh 이전) zsh 사용자였습니다. 나는 그것에 매우 만족하지만 zsh에는 존재하지 않는 강력한 bash 기능이 있는지 궁금합니다. 반대로 bash에는 존재하지 않는 zsh 기능이 있습니까? 내 현재 느낌은 배쉬가 더 낫다는 것입니다.

  • 이미 익숙하고 새로운 구문을 배우고 싶지 않다면.
  • 기본적으로 대부분의 모든 * nix 시스템에 존재하지만 zsh는 추가 설치 일 수 있습니다.

여기서 종교적 전투를 시작하지 않기 때문에 쉘 중 하나에 만 존재하는 기능을 찾고 있습니다.



답변

zsh는 벌 칸용입니다. 😉

진지하게 : bash 4.0에는 이전에 zsh에서만 발견 된 몇 가지 기능이 있습니다.

% ls /usr/src/**/Makefile

다음과 같습니다.

% find /usr/src -name "Makefile"

그러나 분명히 더 강력합니다.

내 경험상 bash의 프로그래밍 가능 완료는 적어도 일부 경우 (예 : 적성을 위해 데비안 패키지 완성)보다 zsh보다 약간 우수합니다.

bash는 Alt + .삽입해야합니다!$

zsh has expansion of all variables, so you can use e.g.

% rm !$<Tab>

for this. zsh can also expand a command in backtics, so

% cat `echo blubb | sed 's/u/a/'`<Tab>

yields

% cat blabb

I find it very useful to expand rm *, as you can see what would be removed and can maybe remove one or two files from the commmand to prevent them from being deleted.

Also nice: using the output from commands for other commands that do not read from stdin but expect a filename:

% diff <(sort foo) <(sort bar)

From what I read bash-completion also supports completing remote filenames over ssh if you use ssh-agent, which used to be a good reason to switch to zsh.

Aliases in zsh can be defined to work on the whole line instead of just at the beginning:

% alias -g ...="../.."
% cd ...

답변

bash는 FreeBSD, OpenBSD 또는 NetBSD에 기본적으로 설치되어 있지 않으며, Solaris 10 (OpenSolaris에 기본값이 있음), AIX를 마지막으로 사용했을 때도 기본적으로 설치되지 않습니다. 또는 HP-UX 서버는 기본적으로 설치되지 않았습니다.

또한 OpenSolaris에서 / bin / sh는 bash가 아닙니다. ksh입니다. 소프트웨어 포터로서 가장 큰 문제는 / bin / sh가 bash이고 bash 확장 구문을 허용하는 사람들입니다. 이것은 대부분의 Linux 배포판에서 해당되는 것처럼 보이지만 다른 곳에서는 그렇지 않으며 실제로 성가시다.


답변

나는 bash 사용자이지만 zsh의 기능 중 하나 인 RPS1이 매우 멋지다는 것을 알았습니다.

생각해 내다:

  • PS1 : 왼쪽 정렬 프롬프트
  • RPS1 : 오른쪽 정렬 프롬프트

견본:

같은 것을 사용할 때

PS1=’%B(%h) %m%#%b 
RPS1=’(%20<…<%~)'

왼쪽에 프롬프트가 표시되고 현재 디렉토리가 오른쪽으로 푸시됩니다. 현재 라인이 너무 길어지면 사라집니다! zsh가 RPS1에 낮은 우선 순위를 부여 할만큼 똑똑하기 때문입니다.

http://imgur.com/OAZhC 에서이 예제의 스크린 샷을 볼 수 있습니다 .


답변

Zsh에는 맞춤법이 수정되었습니다. 당신이 편지 (또는 그 이상)라면, 그것은 당신이 의미하는 것을 알아낼 것입니다.

또한 더 강력한 탭 완성 기능이 있습니다.

Zsh에는 대화식 구성 유틸리티가있어 원하는 방식으로 설정할 수 있습니다.

일부 속도 테스트는 zsh가 더 빠르다고 말하지만 차이점은 없습니다.


답변

zsh가 지원하지 않는 bash 기능을 모르겠습니다. zsh의 디자인 목표는 bash가 추가하는 모든 기능을 지원하는 것으로 보입니다.

나는 여전히 zsh 대신 bash를 사용합니다. zsh가 bash가 지원하지 않는 강력한 기능은 거의 없습니다. 수년간 zsh에 문제가 있거나 특정 sysetms에 존재하지 않는 zsh 문제로 인해 전환 할 가치가 없습니다.

마지막으로 모든 유닉스 시스템에서 동일한 쉘을 사용할 수 있습니다. 절대 사용하지 않을 기능에 대해서는 이것을 깨울 가치가 없습니다.

bash에없는 zsh에있는 기능은 대부분 귀엽지 만 일상적으로 중요한 기능은 아닙니다.


답변

bash에는 zsh에만 있었던 많은 기능이 있습니다. 최근 우분투 사용자가 발견 한 것처럼 bash를 사용하여 ‘스마트 탭 완성’을 할 수 있습니다.


답변

프로세스 대체와 확장 글 로빙은 내가 가장 놓치게 될 두 가지 기능입니다. 프롬프트 설정도 꽤 멋지다-명령 줄에 복잡한 문장을 입력 할 때 중첩 수준을 볼 수 있습니다. 자동 로딩은 모든 쉘에 많은 기능을 포함시킬 수 있습니다.