/bin/zsh과 /usr/bin/zsh의 차이

ZSH을 설치하면서 셸 변경을 할 때 이런 명령을 사용했다.

chsh -s /usr/bin/zsh

이유는

which zsh

명령으로 나오는 경로가 /usr/bin/zsh이기 때문이다.

그런데

which -a zsh

명령을 사용하면 경로가 두 개가 나온다.

/usr/bin/zsh
/bin/zsh

과연 이 두 개는 어떤 차이가 있을까?

ls -l /usr/bin/zsh
ls -l /bin/zsh

두 명령을 사용해보았다.

/usr/bin/zsh -> /etc/alternatives/zsh-usrbin
/bin/zsh -> /etc/alternatives/zsh

모두 심볼릭 링크로 /etc/alternatives 디렉터리의 파일을 가리키고 있다.

또다시 두 파일을 알아보았다.

ls -l /etc/alternatives/zsh-usrbin
ls -l /etc/alternatives/zsh

이 두 파일도 심볼릭 링크다. 그리고 두 개는 같은 파일을 가리키고 있다.

/etc/alternatives/zsh-usrbin -> /bin/zsh5
/etc/alternatives/zsh -> /bin/zsh5

그렇다면 숫자가 달린 이 파일이 본체일까?

ZSH은 현재 메이저 버전이 5이다.

ls -l /bin/zsh5

확인해보니 링크가 아니다. 찾았다.

따라서 셸 스크립트를 작성할 때 첫 줄에 다음 중 어느 경로를 사용해도 잘 작동하는 것을 알 수 있다.

#!/usr/bin/zsh
#!/bin/zsh
#!/etc/alternatives/zsh-usrbin
#!/etc/alternatives/zsh
#!/bin/zsh5

SW Level Up

mail@swlevelup.com

You may also like...

댓글 남기기

이메일은 공개되지 않습니다.