ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • macOS shell을 bash에서 ZSH로 바꾸기
    CS/OS 2022. 4. 11. 16:58
    728x90

    Shell(셸)

    • 터미널 환경에서 운영체제의 커널과 사용자의 유저 스페이스를 이어 주는 인터페이스 역할을 하는 프로그램이다.
    • 인터페이스 역할 외에도 셸 스크립트(Shell Script)라는 셸 전용 프로그래밍 언어를 사용해서 터미널 환경에서 다양한 자동화를 실행할 수 있다.

     

     

    Bash(Bourne-Again Shell)

    • 거의 대부분의 리눅스 기반 운영체제에서 default Shell로 설치된다.

     

     

    ZSH(Z shell)

    • 'Oh My Zsh(설정 관리 툴)로 인해 인기를 얻고 있는 shell이다.
    • 기본적인 기능은 Bash와 큰 차이는 없으나 여러 다양한 편리한 기능을 제공한다.
    • Oh My Zsh이라는 ZSH 설정 매니저 플러그인을 통해서 편리하게 Shell을 설정할 수 있다.

     

     

    Bash -> ZSH

     

    1. ZSH을 최신 버전으로 업그레이드한다.

    brew install zsh zsh-completions

     

    2. default shell을 BASH에서 ZSH로 변경시켜준다.

    sudo -s 'echo /usr/local/bin/zsh >> /etc/shells' && chsh -s /usr/local/bin/zsh

     

    3. 아래 명령어를 실행했을 때 ZSH의 경로가 출력되면 정상적으로 default shell로 지정이 된 것이다. 

    echo $SHELL

     

    만약 출력이 그대로 bash로 나온다면 아마 터미널을 다시 껐다 켜면 바뀌어있을 것이다. 

     

     

    그래도 바뀌지 않거나 

    /bin/bash: echo /usr/local/bin/zsh >> /etc/shells: No such file or directory

     

    위와 같은 오류가 발생한다면, 아래 명령어를 사용하면 된다.

     
     
    //1
    sudo sh -c 'echo /usr/local/bin/zsh >> /etc/shells'
    
    //2
    sudo chsh -s /usr/local/bin/zsh // 10.10버전 이전인 경우 사용
    chsh -s /bin/zsh // 10.10버전 이후인 경우 사용

     (sh 명령어를 루트 권한으로 실행하고, sh 명령어가 >>(표준 출력 재지정 )을 포함하여 문자열을 셸 명령으로 해석한다.)

     

     

     

     

     

     

    참고

    깔끔한 파이썬 탄탄한 백엔드 - 송은우

    https://stackoverflow.com/questions/47617679/mac-terminal-trying-to-add-to-etc-shells

    728x90

    'CS > OS' 카테고리의 다른 글

    가상메모리  (0) 2022.03.20
    Blocking & Non-Blocking 그리고 Sync & Async  (0) 2022.03.05
    Process & Thread  (0) 2022.03.04
    OS 운영체제: 스케줄링(Scheduling)  (0) 2022.02.27

    댓글

oguuk Tistory.