저는 Yosemite를 실행하는 MAC을 사용하고 있습니다.
최근까지는 PATH에 디렉터리를 추가하는 .profile만 있었습니다.
이제 내 경험과 이후의 온라인 읽기를 통해 터미널 창을 열 때 .profile이 무시되는 .bash_profile이 있습니다.
좀 읽은 후에 .pofile과 .bash_profile이 어떻게 다른지 이해했습니다. .bash_profile은 쉘을 시작할 때만 호출된다는 것을 알고 있습니다.
그러나 기본 사용자에게 다음 중 어떤 단점이 있는지는 아직 잘 모르겠습니다.
- .bash_profile에서 .profile을 호출합니다.
- 아니면 .bash_profile을 무시하고 .profile 파일의 셸에서 직접 필요할 수 있는 모든 환경 변수를 설정하세요.
예를 들어, 나는 읽었습니다.여기.bash_profile이 존재할 때 .profile은 무시되므로 추가할 수 있습니다.
. ~/.profile
내 bash_profile에서 .profile을 호출하세요.
또는 .bash_profile을 사용하면 bash 외부에서 필요하지 않은 변수를 설정할 수 있다는 것을 알고 있지만 여전히할 수 있는필요한 모든 것이 .profile에 설정되어 있지만 .bash_profile을 사용하면 어떤 결과가 나오는지 알 수 없습니다.
답변1
~/.profile
전통적인 sh는 시작 시 이 파일을 읽습니다.로그인 쉘.
Bash는 sh와 이전 버전과 호환되지만 .bash_profile
존재하지 않는 경우 대안을 읽고 시도하는 추가 기능을 제공합니다 .profile
. 이를 통해 로그인 쉘이 bash 일 때 .profile
일반 sh를 사용하고 .bash_profile
bash의 추가 기능을 활용할 수 있습니다.
.bashrc
대화형으로 호출되면 Bash는 다른 파일도 읽습니다. 여기에 프롬프트, 별칭, 완성 설정 등을 입력합니다. 그러나 대화형 로그인 셸에서는 파일을 읽지 않습니다. 따라서 쉘이 대화형으로 실행되는 동안 소스 코드를 가져와야 .bash_profile
합니다 . 그렇지 않으면 별도의 파일을 유지해야 합니다..bashrc
다음에서 벗어날 이유가 거의 없습니다 .bash_profile
.
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
로그인 콘텐츠(예: 환경 변수 정의) .profile
와 대화형 셸 콘텐츠를 .bashrc
.
로그인 셸로 bash만 사용하는 경우에는 아마도 그런 것이 없고 .profile
로그인에 직접 항목을 추가하고 .bash_profile
대화식으로 로드하려는 행을 추가할 수 있습니다..bashrc
1 도 이전에 이것을 시도했지만 별로 유용하지 않았습니다..bash_login
.profile