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

StackOverflow https://stackoverflow.com/questions/43321

  •  09-06-2019
  •  | 
  •  

문제

Mac OS X의 기본 쉘은 다음과 같습니다. bash, 일반적으로 사용하게되어 기쁩니다.나는 그것을 당연하게 여깁니다.자동완성되면 정말 좋을 것 같아요 더 많은 것들, 하지만 좋은 소식을 들었습니다. zsh 이와 관련하여.그러나 나는 명령줄에서의 생활이 그다지 나쁘지 않기 때문에 명령줄 사용을 조금이라도 개선하기 위해 설정을 조작하는 데 몇 시간을 소비할 의향이 없습니다.

(내가 이해한 바로는, bash 보다 영리하게 자동 완성되도록 구성할 수도 있습니다.그다지 마음에 들지 않는 구성입니다.)

다음으로 전환할 예정 zsh, 소수의 경우에도 내 삶이 편해지나요?아니면 배우는 데 시간을 투자한다면 더 나은 껍질일까요? 더 나아졌나요?(예도 좋을 것 같습니다. :) )


@로드니 아마토 & @벌컨의 열망각각 고수해야 할 두 가지 타당한 이유를 제시하세요. bash 그리고로 전환 zsh.두 가지 모두 조사해야 할 것 같습니다!아 그렇군요 :)

양쪽 주장 모두에 의견이 있는 사람이 있나요?

도움이 되었습니까?

해결책

일상적으로 사용하려면 bash를 고수하고 bash 완성 기능만 설치하는 것이 더 나을 것입니다.

설치는 매우 쉽습니다. bash-completion-20060301.tar.gz를 다음에서 가져오세요. http://www.caliban.org/bash/index.shtml#completion 그리고 그것을 추출

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를 좋아합니다.

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

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

또는 접미사 별칭을 사용하여 특정 프로그램을 다른 접미사와 연결하여 직접 "실행"할 수 있습니다.아래 별칭을 사용하면 프롬프트에서 간단히 입력하여 C 소스 파일을 "실행"할 수 있습니다. ./my_program.c – 마치 입력한 것처럼 정확하게 작동합니다. vim ./my_program.c.(파일 아이콘을 두 번 클릭하는 것과 같습니다.)

  • alias -s c=vim

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

  • print *(e:age today now:)

아마도 bash에서 이러한 모든 작업을 수행할 수 있지만 zsh에 대한 내 경험에 따르면 내가 하고 싶은 일이 있으면 아마도 bash에서 찾을 수 있을 것입니다. zsh 애호가.'라는 책도 찾았습니다.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에 대한 훌륭한 리소스가 있습니다.

나는 매우 고급 기능을 사용하지 않았으며 지금까지 bash에서 오는 사람을 방해할 심각한 차이점을 발견하지 못했습니다.

몇 가지 예:

  • !?무늬u003CTab> 역사 일치 패턴에서 마지막 명령으로 자동 완성됩니다.굉장히 유용하다.

  • RHS에서 프롬프트를 구성 할 수 있습니다.한 가지 용도는 왼쪽에 고정 너비 프롬프트를 유지하여 모든 명령이 오른쪽 프롬프트로 PWD (또는 가변 너비)를 표시하는 동안 잘 정렬됩니다.

  • 여러 파일의 입력을 리디렉션할 수 있습니다(아직 시도하지 않음).고양이 < 파일1 < 파일2 < 파일3

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top