웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > linux

.bash_profile 스크립트 실행 후 .bashrc가 구동되지 않는 이슈 해결하기

Last Modified : 2022-10-07 / Created : 2022-10-07
4,377
View Count
제목과 정확하게 .bash_profile 스크립트 실행 후 .bashrc가 동작하지 않는 이슈가 발생되었습니다. 즉 source .bashrc가 동작하지 않아 수동으로 커맨드를 입력해줘야했죠.

이런 일이 발생하게 된 원인은 없던 .bash_profile 파일을 생성했기 때문입니다... 서버가 구동된 경우 스크립트 시작을 위해서 login shell을 만들어 추가했는데 이 부분이 문제였군요... 좀 더 알아보니 아래와 같은 정보를 알 수 있었습니다.




! .bashrc를 읽지 않은 이유는 무엇일까?


왜 .bashrc를 잘 읽다가 .bash_profile 생성 이 후 못 읽었는지 알아보니 다음과 같았습니다.

최초 시작시 로그인 쉘(login shell)이 구동될 때 .bash_profile 이나 .profile 스크립트를 찾아 실행한 경우 .bashrc는 읽어들이지 않기 때문입니다. 즉 순서대로 모두 읽는 것이 아니라 먼저 스크립트를 읽은 경우 다음의 .bashrc는 제외하는 것이죠.


@ 해결방법은 무엇일까?
해결방법은 두 가지가 있습니다. 하나는 매 번 수동으로 script를 실행해주는 것입니다.
source ~/.bashrc

문제는 해결되었지만 반복해서 계속 입력할 때 마다 매우 번거롭겠죠... 그래서 다음 방법이 필요해보입니다. .bash_profile에 .bashrc를 실행하도록 스크립트를 추가하는 방법이죠.

아래의 코드는 .bash_profile에 추가한 코드입니다.
[[ -f ~/.bashrc ]] && source .bashrc

앞의 코드는 .bashrc가 home directory에 존재하는지를 확인한 후 .bashrc 실행 여부를 결정하는 코드입니다. 이처럼 코드를 등록하면 이 후 부터는 .bashrc가 정상적으로 실행하게 됩니다. 실제로 스크립트 추가 후 재동작해보니 잘 실행되는 것을 확인할 수 있었습니다. 의외로 간단한 해결방법입니다!!


[ 참고사항 ]
.bash_profile과 .profile 모두 동일하게 .bashrc를 실행하지 않습니다. 즉 어떤 파일이든 .bashrc를 실행하기 위해서는 위의 코드를 동일하게 추가해야 되니 참고하세요!


여기까지 .bashrc가 실행되지 않은 경우의 해결방법을 알아보았습니다.

Previous

[리눅스] 서버 재시작시 자동으로 service 시작하는 방법

Previous

[Linux] make 명령어 알아보기