답변:
~/.bashrc
와 /etc/bash.bashrc
상호 작용 할 때마다 실행되는 bash
쉘이 시작됩니다.
대조적으로, ~/.profile
그리고 /etc/profile
어떤 때마다 실행되는 로그인 쉘이 시작됩니다. 따라서 bash
쉘일 필요는 없지만 로그인 쉘 이어야합니다 (많은 bash
쉘 인스턴스는 로그인 쉘 이 아닙니다 ).
bash
쉘은 그것을 제공하는 쉘 프로그램 인 셸 bash
과 같은, 오히려 다른 프로그램보다 dash
.따라서,에 항목을 추가 표창 넣어 PATH
A의 bashrc
파일 것을 :
쉘이 아닌 경우에는 아무 것도하지 마십시오bash
. 종종 그렇습니다. 예를 들어, PATH
그래픽 로그인 세션에있을 때는 수정되지 않습니다. 기억 PATH
단지 명령 줄 프로그램에서 사용되지 않습니다.
중첩 된 bash
쉘이 있는 경우 반복해서 추가하십시오 . 따라서 쉘 내에서 쉘을 시작하면 (다양한 이유로 매우 흔함) 여러 개의 ~/bin
항목이에 쌓 PATH
입니다. 이로 인해 PATH
환경 변수를 읽기가 어렵고 때로는 성능이 저하됩니다.
이들은 바람직하지 않습니다. 따라서 이것을 파일 에 넣는 것은 잘못입니다bashrc
. 정말에 속합니다 ~/.profile
. ~/.profile
이다 적당한 장소 에가 :
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
비 로그인 쉘은 로그인 쉘 (또는 로그인 쉘과 같이 작동하는 것)을 부모 PATH
로하고이 로그인 쉘에서를 포함한 대부분의 환경 변수를 상속 합니다. 따라서 경로 수정 명령을 ~/.profile
넣으려면 로그 아웃했다가 다시 로그인해야 효과적이지만 비 로그인 쉘의 환경 (쉘이 아닌 프로그램의 환경)에도 영향을 미칩니다. "환경"이라고하는 자체 환경 변수 세트는 상위 프로세스에서 상속됩니다.
bin
로그온 할 때 개인 디렉토리가 존재하지 않았으며이 로그인 세션 중에 작성했음을 들었습니다. 로그 아웃했다가 다시 로그인하면에 있습니다 PATH
. 개인 bin
디렉토리 작성 은 한 번만 수행하면되므로 한 번 불편합니다.