Mac에서 zsh를 기본 셸로 사용하기

macOS Catalina부터는 Mac에서 zsh를 기본 로그인 셸 및 대화형 셸로 사용합니다. 이전 버전의 macOS에서도 zsh를 기본 셸로 설정할 수 있습니다.

기본적으로 Mac에서는 zsh 또는 bash를 로그인 셸과 대화형 셸의 명령어 라인 인터프리터로 사용합니다.

  • macOS Catalina부터는 zsh(Z 셸)가 새로 생성되는 모든 사용자 계정의 기본 셸입니다.

  • bashmacOS Mojave 및 이전 버전의 경우 기본 셸입니다.

zsh는 Bourne 셸(sh)과의 호환성이 뛰어나며 bash와도 대개 호환되지만 약간의 차이점이 있습니다. zsh 및 이 셸의 포괄적인 명령어 라인 완성 시스템에 대한 자세한 내용을 보려면 터미널에 man zsh를 입력하십시오.

기본 셸을 변경하는 방법

사용자 계정이 zsh(권장), bash 또는 다른 셸을 사용하도록 구성되어 있더라도 명령어 라인 또는 사용자 및 그룹 설정에서 기본 셸을 변경할 수 있습니다.

명령어 라인에서 변경하기

터미널에서 $ chsh -s path를 입력하십시오. 여기서 path는 /bin/zsh, /bin/bash, /bin/csh, /bin/dash, /bin/ksh, /bin/sh 또는 /bin/tcsh와 같이 /etc/shells에 나열된 셸 경로 중 하나입니다.

사용자 및 그룹 설정에서 변경하기

macOS Ventura 및 이후 버전:

  1. Apple 메뉴() > 시스템 설정을 선택한 다음 사이드바에서 '사용자 및 그룹'을 클릭합니다.

  2. 오른쪽의 사용자 목록에서 사용자 이름 또는 사용자 사진을 control-클릭한 후 '고급 옵션'을 선택합니다.

  3. 메시지가 표시되면 사용자 이름과 암호를 입력합니다.

  4. '로그인 셸' 메뉴에서 셸을 선택한 다음 '확인'을 클릭하여 변경 사항을 저장합니다.

이전 버전의 macOS:

  1. Apple 메뉴() > 시스템 환경설정을 선택한 후 '사용자 및 그룹'을 클릭합니다.

  2. 자물쇠No alt supplied for Image를 클릭하고 사용자 이름과 암호를 입력합니다.

  3. 왼쪽의 사용자 목록에서 사용자 이름을 control-클릭한 후 '고급 옵션'을 선택합니다.

  4. '로그인 셸' 메뉴에서 셸을 선택한 다음 '확인'을 클릭하여 변경 사항을 저장합니다.

기본 셸을 변경하지 않고 다른 셸을 사용하는 방법

터미널의 새 윈도우나 탭에서 기본 로그인 셸을 사용하지 않으려면 다음 단계를 따르십시오.

  1. 터미널을 연 다음 터미널 > 설정(또는 환경설정)을 선택합니다.

  2. 일반 패널에서 '명령어(절대 경로)'를 선택합니다.

  3. 인접한 필드에 bin/zsh, /bin/bash, /bin/csh, /bin/dash, /bin/ksh, /bin/sh, /bin/tcsh와 같은 /etc/shells에 나열된 셸 경로 중 하나를 입력합니다.

macOS가 다른 셸을 사용하도록 구성되어 있을 때 bash 셸을 호출하면 이제 zsh가 기본 대화형 셸이라는 메시지가 나타납니다. 이 경고 메시지가 표시되지 않도록 하려면 ~/.bash_profile 또는 ~/.profile에 다음 명령을 추가합니다.

export BASH_SILENCE_DEPRECATION_WARNING=1

zsh 프로파일 및 프롬프트로 전환하는 방법

환경 변수, 가상본 또는 경로 변수를 설정하는 등의 작업에 bash 프로파일을 사용 중인 경우 그에 상응하는 zsh를 사용하도록 전환해야 합니다. 예를 들면 다음과 같습니다.

  • .zprofile.bash_profile에 해당하며 SSH를 이용할 경우를 비롯하여 로그인할 때 실행됨

  • .zshrc.bashrc에 해당하며 터미널 세션이 새로 시작될 때마다 실행됨

.profile(POSIX 호환 프로파일)을 사용 중인 경우 다음 명령을 .zprofile에 추가하여 zsh가 자동으로 해당 설정을 읽도록 할 수 있습니다.

[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'

일부 설정을 수정 없이 bash 프로파일에서 zsh 프로파일로 이동할 수도 있습니다. 예를 들어 환경 변수를 설정하려면 export MY_SETTING=1을 사용합니다.

zsh는 bash와는 다른 프롬프트 지정자 세트를 인식하고 출력을 색상으로 표시하는 보다 명확한 구문을 사용하므로 복잡한 ANSI 확장 비트열을 사용할 필요가 없습니다. 예를 들어 .bash_profile에서 기본 bash 프롬프트 구문은 다음과 같습니다.

export PS1="\[\e[92;40m\]\h\[\e[m\]:\[\e[93m\]\W\[\e[m\] \\$ "

.zprofile 또는 .zshrc를 사용할 때 이 bash 프롬프트를 zsh 프롬프트로 변환하려는 경우 구문은 다음과 같습니다.

export PS1="%10F%m%f:%11F%1~%f \$ "

자세한 내용은 zsh man 페이지를 참조하십시오.

셸 스크립트를 테스트하는 방법

macOS Catalina 및 이후 버전에서 Bourne 호환 셸과의 스크립트 호환성을 테스트하려면 /var/select/sh를 /bin/bash, /bin/dash 또는 /bin/zsh로 변경합니다. /var/select/sh를 bash가 아닌 다른 셸로 변경하면 bashism을 사용하는 스크립트가 제대로 작동하지 않을 수 있습니다.

zsh --emulate sh 명령을 실행하여 zsh가 sh를 에뮬레이트하도록 할 수 있습니다.

Apple이 제조하지 않은 제품에 관한 정보 또는 Apple의 관리 또는 테스트 대상이 아닌 독립적인 웹 사이트는 권장 또는 보증 없이 제공되는 것입니다. Apple은 타사 웹 사이트 또는 제품에 대한 선택, 성능 및 사용과 관련하여 발생하는 결과에 대해 책임을 지지 않습니다. Apple은 타사 웹 사이트의 정확성 또는 신뢰도에 대해 어떠한 언급도 하지 않습니다. 자세한 내용은 해당 업체에 문의하시기 바랍니다.

게시일: