[bash] 일상적인 사용을 위해 zsh로 전환 할 가치가 있습니까? [닫은]

Mac OS X의 기본 셸은 bash입니다. 일반적으로 사용하게되어 기쁩니다. 나는 그것을 당연한 것으로 받아들입니다. 그래도 더 많은 것을 자동 완성하면 정말 좋을 것 zsh입니다.이 점에서 좋은 소식을 들었습니다 . 그러나 명령 줄의 수명이 그다지 나쁘지 않기 때문에 명령 줄 사용을 조금씩 향상시키기 위해 설정을 다루는 데 시간을 할애하지 않습니다.

(알다시피, bash더 똑똑하게 자동 완성되도록 구성 할 수도 있습니다. 그것은 내가 열망하지 않은 구성입니다.)

zsh소수의 경우에도로 전환하면 인생이 더 쉬워 집니까? 아니면 좋은지 배우기 위해 시간을 내면 더 나은 껍질 입니까? (예도 좋을 것입니다 :))


@ Rodney Amato
와 @ Vulcan Eager
는 각각을 고수 bash하고 전환 해야하는 두 가지 이유를 제시 합니다 zsh. 둘 다 조사해야 할 것 같습니다! 오 잘:)

논쟁의 양쪽에서 의견을 가진 사람이 있습니까?



답변

평상시 사용하려면 bash를 고수하고 bash 완성을 설치하는 것이 좋습니다.

설치는 매우 쉽습니다. http://www.caliban.org/bash/index.shtml#completion 에서 bash-completion-20060301.tar.gz를 가져 와서 추출하십시오.

tar -xzvf bash-completion-20060301.tar.gz

그런 다음 bash_completion / bash_completion 파일을 / etc에 복사하십시오.

sudo cp bash_completion/bash_completion /etc

암호를 묻는 메시지가 나타납니다. 추가 완료 스크립트에 대해 /etc/bash_completion.d 디렉토리를 만들고 싶을 것입니다 (예를 들어, git 완료 스크립트가 있습니다).

이것이 끝나면 마지막 단계는 홈 디렉토리의 .bash_profile 파일이

if [ -f /etc/bash_completion ]; then
     . /etc/bash_completion 
fi

로그인 할 때 완성 파일을로드하십시오.

테스트하려면 새 터미널을 열고 cvs에서 완료하면 완료 목록에 cvs 옵션이 표시됩니다.


답변

개인적으로 저는 zsh를 좋아합니다.

일반적으로 재귀 globbing과 같은 작업을 빠르게 수행하기 전까지는 bash와 bash의 차이점을 알지 못할 것입니다.

  • **/*.c 예를 들어.

또는 접미사 별명을 사용하여 특정 프로그를 다른 접미사와 연관시켜 직접 “실행”할 수 있습니다. 아래의 별칭을 사용하면 프롬프트에서 C 소스 파일을 “실행”할 수 있습니다. ./my_program.c– 입력 한 것처럼 정확하게 작동합니다 vim ./my_program.c. (파일 아이콘을 두 번 클릭하는 것과 동일합니다.)

  • alias -s c=vim

또는 오늘 수정 된 파일 이름을 인쇄하십시오.

  • print *(e:age today now:)

bash에서 이러한 모든 작업을 수행 할 수는 있지만 zsh에 대한 나의 경험은 내가하고 싶은 일이 있으면 zsh-lovers 에서 찾을 수 있다는 것입니다 . 또한 ‘ Bash에서 Z-Shell까지 ‘라는 책이 정말 유용하다는 것을 알았습니다 .

엄청나게 많은 옵션을 마음으로 가지고 노는 것도 좋은 재미입니다!


답변

zsh로 전환하십시오. 다음에 액세스 할 수 있습니다.

  1. zmv: 당신은 할 수 있습니다 : zmv '(*).mp3' '$1.wma'수천 파일에 대해.
  2. zcalc:보다 편안한 계산기 bc.
  3. zparseopts: 스크립트에 주어진 임의의 복잡한 옵션을 구문 분석하기위한 하나의 라이너.
  4. autopushd: 항상 이전 디렉토리로 다시 변경 popd한 후에 수행 할 수 있습니다 cd.
  5. 부동 소수점 지원. 때때로 필요합니다.
  6. 지원을 해시합니다. 때로는 주요 기능 일뿐입니다.

답변

ZSH를 사용하려는 것이 더 나은 완성이라면 구성이 매우 쉽습니다. 이것을 ~ / .zshrc에 넣으십시오.

autoload -U zutil      # [1]
autoload -U compinit   # [2]
autoload -U complist   # [3]
compinit

그러나 ZSH의 다른 모든 훌륭한 기능을 확인하는 것이 좋습니다. 위의 예제는 완료가 완료된 매우 일반적인 프롬프트를 제공합니다. 구성을 피하고 싶지는 않지만 ZSH가 무엇을 할 수 있는지 알고 싶다면 Google에서 “zshrc”를 시작하면 구성을 사용하여 시작할 수 있습니다.


답변

zsh에는 콘솔 GUI 구성이 있습니다. 구성 파일을 사용하지 않고도 매우 빠르고 쉽게 설정할 수 있습니다. 나는 당신이 그것을 설정하는 데 많은 시간이 필요하다고 생각하지 않을 것입니다. 아마도 기본값을 사용하면 10 초가 걸릴 것이므로 계속 시도하십시오.


답변

Staale은 zsh를 처음 실행할 때 자동 실행되는 프로그램과 같은 마법사 (CUI)에 대해 이야기하고 있습니다. 몇 가지 질문에 답하고 기본값과 구성을 보거나 변경하십시오.

IBM developerWorks는 zsh에 대한 훌륭한 자원을 보유하고 있습니다.

나는 매우 고급 기능을 사용하지 않았으며 지금까지 나는 누군가가 배쉬에서 오는 것을 방해 해야하는 심각한 차이점을 발견하지 못했습니다.

몇 가지 예 :

  • !? pattern <Tab>은 히스토리 일치 패턴의 마지막 명령으로 자동 완성됩니다. 굉장히 유용하다.

  • RHS에서 프롬프트를 구성 할 수 있습니다. 한 가지 사용법은 왼쪽에 고정 너비 프롬프트를 유지하여 pwd (또는 가변 너비)를 오른쪽 프롬프트로 표시하는 동안 모든 명령을 깔끔하게 정렬하는 것입니다.

  • 여러 파일에서 입력을 리디렉션 할 수 있습니다 (이미 시도해보십시오) : cat <file1 <file2 <file3


답변