답변:
Bash가 대화식 로그인 셸로 시작할 때 처리 할 수 있는 파일 중 하나 는 ~/.profile
입니다.
대화 형 비 로그인 셸로 시작할 때는 그렇지 않습니다. 그것은 처리 /etc/bash.bashrc
하고 (해당 파일 또는 유사한 파일이 배시의 버전을 사용하는 경우) ~/.bashrc
.
다음을 추가 할 수 있습니다 ~/.bashrc
(그러나 루프 또는 값이 실수로 변경되지 않도록주의 하십시오 ).
. $HOME/.profile
[ -z "$SOME_VAR_SET_IN_PROFILE" ] && . ~/.profile
쉘을 시작하는 방법에 따라 다릅니다. 다른 사람들이 말했듯이 로그인 쉘은 프로파일을로드합니다 (먼저 .bash_profile을 찾은 다음 .profile을 시도합니다). 이 중 하나를 찾으면로드합니다. 비 로그인 쉘 (대화식 또는 비 대화식)은 .bashrc를 소스로합니다.
모든 것을 .bashrc에 넣는 것이 좋습니다. tty는 단순한 장치 이름이 아니고 실제 TeleType을 의미했을 때 .profile / .bashrc 스플릿은 일종의 임의적이며 유닉스 시절에 더 의미가 있습니다. 서버에 대한 '메인'로그인에서 메일을 확인하는 것과 같은 특정 작업을 시작하고 다른 쉘의 일반적인 설정 작업을 시작했습니다. 대부분의 Linux에서 지금 로그인하게되면 일부 그래픽 인터페이스 (KDE, gnome, CDE 'shudder')에 로그인 할 때 실제로 쉘에 로그인하지 않습니다. 세션 관리자가 "스폰 로그인 프로세스"를 처리합니다. 지금은 덜 관련이 있습니다.
내 제안 : .profile을 전적으로 구성하십시오.
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
.bashrc의 첫 번째 줄로, bash 스크립트를 실행할 때 발생하는 이상한 일을 조기에 피하십시오.
[[ $- != *i* ]] && return
.profile
배쉬에 무관심해야한다. .bash_profile
로드 .profile
하고 로드 하도록 구성 하는 것이 좋습니다 .bashrc
. 단지 bash는 불가지론에 물건을 넣어 .profile
같이 PATH
하고 LC_*
물건을. 나머지는에 넣습니다 .bashrc
.