본문 바로가기

Terminal/WSL

.bashrc .profile .bash_profile

Login Shell VS Non-login Shell

먼저 'Login Shell'과 'Non-login Shell' 을 구분해야 하는데, 로그인은 계정과 암호를 입력해서 Shell을 실행하는 것이다. ssh로 접속하거나 로컬에서 GUI에서 로그인한다는 의미다.

'.profile', '.bash_profile'이 Login할 때 로드되는(source) 파일이다. '.profile'은 꼭 bash가 아니더라도 로그인하면 로드되고 '.bash_profile'은 꼭 Bash로 Login할 때 로드된다.

그리고 'Non-login Shell'은 로그인 없이 실행하는 Shell을 말한다. ssh로 접속하고 나서 다시 bash를 실행하는 경우나. GUI 세션에서 터미널을 띄우는 것이 이해 해당한다. 'sudo bash'나 'su' 같은 것도 이에 해당한다.

'.bashrc'는 로그인 없이 Bash가 실행될 때 로드된다. 'sudo bash'나 'su'로 root 권한을 얻으려 bash를 실행할 때도 이 파일이 로드된다.

 

정리

 - '.profile' - 로그인할 때 로드된다. PATH처럼 로그인할 때 로드해야 하는데 bash와 상관없는 것들을 여기에 넣는다.

 - '.bash_profile' - 로그인할 때 로드된다. 'bash completion'이나 'nvm'같이 로그인할 때 로드해야 하는데 Bash와 관련된 것이면 여기에 넣는다.

 - '.bashrc' - 로그인하지 않고 Bash가 실행될 때마다 로드된다.

 

출저 : http://dogfeet.github.io/articles/2012/bash-profile.html

'Terminal > WSL' 카테고리의 다른 글

WSL에 GitLab 설치  (0) 2020.02.27
윈도우를 종료하지 않고 WSL 재부팅하기  (0) 2020.02.25
user 설정 오류  (0) 2020.02.19
리눅스 사용자 변경  (0) 2020.02.19
default login 사용자 변경  (0) 2020.02.18