Codings

zsh 쉘에서 편리한 fish 쉘로 기본 쉘 변경하기

드리프트2 2024. 3. 3. 21:21

 

안녕하세요?

 

M1 맥북 에어 구매 기념 기본 zsh 쉘에서 편리하다고 하는 fish 쉘로 변경했습니다.

 

** 목 차 **


Home Brew로 zsh 설치

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

설치가 완료되었지만 다음과 같은 경고 메시지가 표시된 경우

**Warning**: /opt/homebrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the ‘Next steps’ section below.

 

경로를 추가하세요.


~/.zshrc 파일에 경로를 정의합니다.

$ vi ~/.zshrc

 

.zshrc 파일에 다음 줄을 추가하세요.

export PATH=/opt/homebrew/bin:$PATH # <- 추가

 

.zshrc 파일을 다시 로드합니다.

$ source ~/.zshrc

 

확인해보세요.

$ brew -v
Homebrew 4.2.10

 

작업 완료!


fish 설치

$ brew install fish

 

fish 설치 위치를 확인합니다. (M1 칩과 인텔 칩의 경우 약간 다를 수 있습니다.)

$ which fish
/opt/homebrew/bin/fish

 

fish 쉘을 시스템 쉘 리스트 파일인 /etc/shells에 추가해 봅시다.

 

앞서 얻은 fish 경로 /opt/homebrew/bin/fish를 추가합니다.

$ echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells

 

여기서 tee 명령은 파일과 표준 출력 모두에 출력합니다.

 

-a 옵션은 덮어쓰기가 아닌 끝에 추가하는 의미입니다.

 

이제 확인해 볼까요?

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/opt/homebrew/bin/fish

터미널의 기본 쉘을 fish로 변경하기

먼저 로그인 쉘(로그인할 때 실행되는 쉘)을 fish로 설정합니다.

 

기본적으로 터미널 환경 설정에서 터미널의 기본 쉘이 로그인 쉘이기 때문에 특별한 이유가 없다면 로그인 쉘만 변경하면 됩니다.

$ chsh -s /opt/homebrew/bin/fish
Changing shell for cpro95.
Password for cpro95:

 

이후 새로운 탭에서 터미널을 열어보면 fish가 실행되는 것을 확인할 수 있습니다.

 

(기본적으로 터미널 환경 설정에서 터미널의 기본 쉘이 로그인 쉘이기 때문입니다.)

Last login: Sun Mar  3 20:57:27 on ttys000
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
cpro95@cpro95ucBookAir ~>

bobthefish 설치하여 편리하게 사용하기

fisher 설치

fish의 패키지 관리 명령어인 fisher를 설치합니다.

$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher

bobthefish 설치

아래와 같이 설치하시면 이제 멋진 bobthefish 가 설치됩니다.

$ fisher install oh-my-fish/theme-bobthefish
fisher install version 4.4.4
Fetching https://api.github.com/repos/oh-my-fish/theme-bobthefish/tarball/HEAD
Installing oh-my-fish/theme-bobthefish
           /Users/cpro95/.config/fish/functions/__bobthefish_colors.fish
           /Users/cpro95/.config/fish/functions/__bobthefish_display_colors.fish
           /Users/cpro95/.config/fish/functions/__bobthefish_glyphs.fish
           /Users/cpro95/.config/fish/functions/bobthefish_display_colors.fish
           /Users/cpro95/.config/fish/functions/fish_greeting.fish
           /Users/cpro95/.config/fish/functions/fish_mode_prompt.fish
           /Users/cpro95/.config/fish/functions/fish_prompt.fish
           /Users/cpro95/.config/fish/functions/fish_right_prompt.fish
           /Users/cpro95/.config/fish/functions/fish_title.fish
Installed 1 plugin/s

터미널 환경 설정에서 폰트 변경

기본 상태로는 글자가 깨져서 읽을 수 없으므로 터미널에서 폰트를 변경해야 합니다.

 

폰트는 모노 폰트를 쓰시면 됩니다.

 

Space Mono for Powerline, Hack Nerd Font Mono 추천드립니다.


그 외에도 fish로 Home Brew 사용 가능하게 하기

현재 상태에서는 .zshrc에만 Home Brew의 경로가 설정되어 있기 때문에

 

fish에서도 Home Brew의 경로를 설정해야 합니다.

$ vi ~/.config/fish/config.fish  

 

config.fish 파일에 다음과 같은 문장을 추가합니다.

if status is-interactive
    # Commands to run in interactive sessions can go here

    # PATH
    set PATH /opt/homebrew/bin $PATH # <- 추가
end

 

확인해보세요.

$ brew -v                                                                                  
Homebrew 4.2.10

 

끝났습니다!