zsh 및 oh-my-zsh를 포함한 새로운 개발 환경을 시험해보고 있습니다. 이제 oh-my-zsh가 설치되었으므로 기본적으로 내 터미널(iTerm2 및 Terminal)에서 시작되고 항상 zsh로 시작되며 설정은 oh-my-zsh로 시작됩니다. oh-my-zsh를 제거하지 않고 oh-my-zsh를 사용하여 zsh 및 해당 설정 사용을 "비활성화"하거나 중지할 수 있는지 궁금합니다. 다시 켜는 방법도 알아두면 좋을 것 같습니다.
현재 내 터미널은 자동으로 zsh로 들어가고(제 생각에는) oh-my-zsh를 자동으로 사용합니다. 나는 이것에 대해 더 많은 제어권을 갖고 zsh를 사용할 때와 oh-my-zsh 기능을 사용할 때 모두 제어할 수 있기를 원합니다.
또한 제가 알고 싶은 한 가지는 시작 시 실행을 시작할 셸이 터미널 응용 프로그램에서 어떻게 인식되는지입니다. 조절할 수 있다면 정말 좋을 것 같아요!
당신이 나에게 주는 모든 명령의 "이유"를 가능한 한 많이 설명한다면 도움이 될 것입니다! :)
저는 OS X를 사용하고 있습니다. 이것이 중요한지는 확실하지 않지만 나는 내 환경보다 더 일반적인 Unix 환경에 적용되는 답변을 선호하는 경향이 있습니다.
답변1
zsh
질문의 표현이 불분명하여 사용을 중지하려는 것인지 , 사용을 중지하려는 것인지 알 수 없습니다 oh-my-zsh
. 두 가지 모두 다루겠습니다.
장애를 입히다zsh
chsh
이전에 사용했던 쉘을 실행 하고 선택하십시오. 이전에 어떤 쉘을 사용했는지 모른다면 거의 확실히 그렇습니다 bash
. 이 명령은 사용자와 관련된 "로그인 셸"을 변경합니다. 기본적으로 기본 쉘이 변경됩니다.
변경 사항을 적용하려면 새 터미널 창을 열어야 합니다. 그래도 문제가 해결되지 않으면 로그아웃했다가 다시 로그인하여 환경을 다시 초기화해야 합니다.
비활성화만 가능oh-my-zsh
- 존재 하는지 확인하십시오
~/.zshrc.pre-oh-my-zsh
. 그것은 사실일 수도 있습니다. (oh-my-zsh
이 파일은 설치 스크립트가 이전 파일을 제거할 때 생성됩니다. 시작 파일과 유사한 시작 파일입니다.).zshrc
.zshrc
zsh
.bashrc
bash
- 그렇다면 를 실행합니다
mv ~/.zshrc ~/.zshrc.oh-my-zsh
. 이렇게 하면oh-my-zsh
생성된 콘텐츠가 제외 되므로.zshrc
를 실행하여 원본 콘텐츠를 복원할 수 있습니다mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc
. - 존재하지 않는 경우
~/.zshrc
텍스트 편집기에서 엽니다. 해당 줄을 찾아서source $ZSH/.oh-my-zsh
주석 처리하거나 삭제하세요. 이렇게 하면 초기화가 비활성화됩니다oh-my-zsh
.
변경 사항을 적용하려면 셸을 다시 시작해야 합니다.
답변2
새 기본 셸을 수동으로 설정하려면 chsh -s /my/new/shell(예: chsh -s /bin/bash)을 실행합니다. 그런 다음 쉘을 다시여십시오.
답변3
@Gilles 답변에 약간 숨겨져 있기 때문에 .zshrc .zshenv 등과 같은 구성 없이 zsh를 로드하는 빠른 방법입니다.
zsh -f
이는 구성의 어떤 요소가 zsh의 특정 기능 실행을 방해하는지 테스트하려는 경우에 유용합니다.
답변4
환경 변수를 설정하여 zsh가 다른 디렉터리에서 사용자별 구성 파일을 로드하도록 지시할 수 있습니다.ZDOTDIR
zsh를 시작하기 전에.
구성 파일을 로드하지 않고 zsh를 시작하려면 ZDOTDIR
존재하지 않는 디렉터리로 설정하세요. 시스템 구성 파일을 건너뛰려면( 제외 /etc/zshenv
)을 실행하면 됩니다 zsh -f
. 시스템 구성 파일을 건너뛰고 사용자별 파일을 실행하려면 를 실행 하세요 zsh -d
.
예를 들어 oh-my-zsh를 기본값으로 설정하지 않고 테스트 드라이브하려면 .zshrc
oh-my-zsh의 파일을 홈 디렉터리에 두지 마세요. 대신 다른 곳에 두십시오. ~/.oh-my-zsh
, ZDOTDIR=~/.oh-my-zsh zsh
oh-my-zsh를 사용하고 싶을 때 실행하세요 .
터미널 애플리케이션은 환경 변수에 지정된 셸을 실행합니다 SHELL
. 이 변수가 설정되지 않으면 /etc/passwd
사용자 데이터베이스( )에 지정된 로그인 셸을 실행합니다. 터미널 에뮬레이터를 시작할 때 다양한 애플리케이션을 요청할 수 있습니다 xterm -e fish
.