.bash_profile VS .zshrc
MacOS에서 개발을 하다보면 .bash_profile이나 .zshrc를 수정해야 되는 경우가 종종 있습니다. 하지만 두개가 무엇이 다르며 어떻게 실행되는지 잘 모르는 경우가 있습니다. 이에 대한 설명을 진행하겠습니다.
.bash_profile
.bash_profile은 bash의 startup file 중 하나로, login shell 환경에서 terminal 실행시 자동으로 source 됩니다. 그렇기 때문에 환경변수나 터미널이 실행될 때 수행하고 싶은 명령어를 여기에 저장해줍니다.
.zshrc
.zshrc는 zsh의 startup file 중 하나로, login 이나 non-login shell 환경에서 terminal 실행시 자동으로 source 됩니다. .bash_profile과 마찬가지로 terminal이 실행됨과 동시에 수행하고 싶은 명령어나 환경변수를 저장해줍니다.
.bash_profile VS .zshrc
그렇다면 MacOS 에서 terminal 실행과 동시에 수행하고 싶은 명령어나 환경변수는 어디에 저장하는게 좋을까요?
우선, MacOS 의 기본 shell은 zsh로, .bash_profile에 설정해둔 명령어들은, MacOS에서 terminal 실행시 바로 적용되지 않습니다. 이를 실행하기 위해서는 아래의 명령어를 terminal을 켤때마다 실행해야 합니다.
$ source ~/.bash_profile
(MacOS의 기본 shell이 zsh임에도 불구하고, bash 관련 startup file로 .bash_history와 .bash_profile이 존재합니다.)
이와 같은 수고를 덜기 위해서, .zshrc에 .bash_profile 안의 설정들을 옮기거나 source ~/.bash_profile를 .zshrc에 추가해주는 방법이 있습니다.