답변:
실제로, 그것은 bash
구체적으로 읽습니다 .bashrc
(및 /etc/bash.bashrc
). 다른 껍질이 많이 있습니다.
bash는 남자 페이지 (브라이언 폭스와 쳇 레이미으로는, 또한 정보 페이지 "배쉬 시작 파일" ) 권위있는 참조입니다 :
로그인 쉘이 아닌 대화식 쉘이 시작되면 bash는
~/.bashrc
해당 파일이 존재하는 경우 명령을 읽고 실행 합니다. 이--norc
옵션 을 사용하여 금지 할 수 있습니다 .--rcfile
파일 옵션을 읽고 대신 파일에서 명령을 실행하는 떠들썩한 파티를 강제로~/.bashrc
.bash가 비 대화식으로 시작될 때, 예를 들어, 쉘 스크립트를 실행하기
BASH_ENV
위해 환경 에서 변수 를 찾고, 변수 가 나타나면 확장되고, 확장 된 값을 읽고 실행할 파일 이름으로 사용합니다. Bash는 다음 명령이 실행 된 것처럼 동작합니다.if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
그러나
PATH
변수 의 값은 파일 이름을 검색하는 데 사용되지 않습니다.
파일은 단지 쉘 명령입니다. 일반적으로 프롬프트를 변경하고 환경 변수를 설정하며 쉘 프로 시저를 정의하는 데 사용됩니다. 일반적으로 파일 .profile
은이 목적으로 사용되지만 bash
확장명이 너무 많아 시작 파일에 bashism 을 넣고 자하는 사용자를 위해 자체 시작 파일이 필요 합니다.
" 로그인 쉘 아님 "은 스크립트 실행 및 일반적으로 창 관리자가 시작한 터미널 창과 같은 것을 의미합니다. 가끔 가지고 * nix에서 스크립트 시스템을 설정 .bashrc
하고 BASH_ENV
단지 소스 .profile
. POSIX 셸 명령 외부에서 벗어나지 않는 한 모든 셸에서 동일한 초기화를 얻을 수 있습니다.
때 sh
정말 bash
일 때 특히 가치 가 있습니다. 이렇게하려면 :
. .profile
이것이 너무 복잡한 이유 중 하나는 때때로 사람들이 출력을 생성하는 것을 셸 시작 파일에 넣거나 무조건 프롬프트를 설정하기 때문입니다. system(3)
C 프로그램에서는 말할 것도없고 언어 내에서 쉘 프로그램과 백틱 명령을 실행할 때 많은 문제가 발생 합니다. bash
시작 방법 은 출력 및 프롬프트 설정이 올바른 파일 하나와 그렇지 않은 파일 하나를 갖도록 설계되었습니다. 일반적으로 런타임 테스트는 대화 형 기능을 구별하기 위해 수행됩니다 (예 : 프롬프트가 설정되어 있는지 확인).
Bash가 시작되면 다양한 스크립트로 명령을 실행합니다.
Bash는 대화식 로그인 쉘로 호출 될 때 파일이 존재하는 경우 먼저 / etc / profile 파일에서 명령을 읽고 실행합니다. 해당 파일을 읽은 후 ~ / .bash_profile, ~ / .bash_login 및 ~ / .profile을 순서대로 찾아서 존재하고 읽을 수있는 첫 번째 명령을 읽고 실행합니다.
로그인 쉘이 종료되면 Bash는 ~ / .bash_logout 파일 (있는 경우)에서 명령을 읽고 실행합니다.
로그인 쉘이 아닌 대화식 쉘이 시작될 때 Bash는 ~ / .bashrc에서 해당 파일이있는 경우 명령을 읽고 실행합니다. --norc 옵션을 사용하여이를 방지 할 수 있습니다. --rcfile 파일 옵션은 Bash가 ~ / .bashrc 대신 파일에서 명령을 읽고 실행하도록합니다.
http://en.wikipedia.org/wiki/Bash_(Unix_shell)
다음은 몇 가지 요령과 팁입니다.
http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
오늘 날짜와 호스트 이름을 표시 할 수 있도록 프롬프트를 설정해 보겠습니다.
PS1="\d \h $ "
.profile
후 .bash_profile
? 어떤 논리?