제목과 정확하게
.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가 실행되지 않은 경우의 해결방법을 알아보았습니다.