programing

MacOSX에서의 ZSH 디폴트셸 만들기

codeshow 2023. 4. 12. 22:42
반응형

MacOSX에서의 ZSH 디폴트셸 만들기

Mac에 zsh를 설치했는데 Bash가 아닌 기본 셸로 하려고 합니다.하지만 다음과 같은 오류가 발생한 것 같습니다.

$ echo $SHELL
/bin/bash
$ chsh -s /usr/bin/zsh
Changing shell for harshamv.
Password for harshamv:
chsh: /usr/bin/zsh: non-standard shell

정답은 문제를 해결했어야 합니다.

chsh: /usr/bin/zsh: 비표준 셸

이렇게 된 이유는chsh/etc/filename 파일에 정의되어 있는 셸만 받아들입니다.이것은, 다음의 메뉴얼을 참조해 주세요.chsh:

chsh는 시스템상의 모든 실행 파일의 풀 패스명을 받아들입니다.그러나 /etc/shells 파일에 셸이 나열되지 않으면 경고가 발생합니다.

이 문제를 해결하고 zsh를 기본 셸로 만들려면 다음과 같이 하십시오.

$ sudo echo "$(which zsh)" >> /etc/shells
$ chsh -s $(which zsh)

분명히, 내 생각엔zsh여기 오시는 길에 있어요이 솔루션은 예를 들어 최신 버전을 설치하도록 선택한 경우에도 작동합니다.zsh와 함께brew install zsh.

EDIT (댓글에 대해 This Is FlorianK 감사합니다) :

셸 설정에 따라 다음과 같은 메시지가 표시될 수 있습니다./etc/shells: Permission denied여기서 문제에 대한 정보를 찾을 수 있습니다.대신 다음 명령을 사용하십시오. 대신 다음을 사용하십시오.

$ sudo sh -c "echo $(which zsh) >> /etc/shells"
$ chsh -s $(which zsh)

세 가지 간단한 절차:

  1. which zshzsh로의 경로를 제공합니다.
  2. 그리고나서chsh -s /bin/zsh또는 zsh에 대한 경로를 바꿉니다(다른 경우).
  3. 머신을 재기동합니다.

저는 다음과 같은 방법으로 이 작업을 수행할 수 있었습니다.

  1. 시스템 기본 설정으로 이동
  2. [사용자 및 그룹]을 클릭합니다.
  3. 변경하려면 잠금을 클릭합니다.
  4. 현재 사용자 오른쪽 클릭 -> 상세 옵션
  5. 드롭다운에서 로그인 셸을 /bin/zsh로 변경합니다.
  6. 새 터미널을 열고 다음을 확인합니다.echo $SHELL

MacBook 작업에서는 다음과 같은 작업을 수행해야 했습니다.

sudo chsh -s /usr/local/bin/zsh my_user_name

그 후, 저는 이 시스템을.bash_profile파일을 열 때마다 터미널을 z-shell로 전환합니다.

touch ~/.bash_profile
echo 'export SHELL=$(which zsh)' >> ~/.bash_profile
echo 'exec $(which zsh) -l' >> ~/.bash_profile

마지막 아이디어는 여기서 차용한 것입니다.

언급URL : https://stackoverflow.com/questions/31034870/making-zsh-default-shell-in-macosx

반응형