껍질에는 여러 가지 유형이 있습니다. SSH 명령 실행 셸은 비 대화식 셸이지만 일반 셸은 로그인 셸 또는 대화식 셸입니다. man bash의 설명은 다음과 같습니다.
로그인 쉘은 인수의 첫 문자
0은-이거나 --login 옵션으로 시작한 것입니다.
대화식 쉘은 옵션이 아닌 시작된 것입니다.
표준 입력의 -c 옵션이없는 인수
오류는 모두 터미널에 연결되어 있습니다 (결정된대로)
isatty (3)) 또는 -i 옵션으로 시작합니다. PS1은
bash가 대화식 인 경우 set 및 $-i를 포함하여
이 상태를 테스트하기 위해 쉘 스크립트 또는 시작 파일.
다음 단락은 bash가 어떻게 실행되는지 설명합니다.
시작 파일. 파일이 있지만 존재하지 않는 경우
bash는 오류를보고합니다. 틸드는 파일에서 확장됩니다
아래의 Tilde Expansion 아래에 설명 된 이름
확장 섹션.
bash가 대화식 로그인 쉘로 호출되거나
--login 옵션이있는 비 대화식 쉘
/ etc / profile 파일에서 명령을 읽고 실행합니다.
해당 파일이 존재합니다. 해당 파일을 읽은 후
~ / .bash_profile, ~ / .bash_login 및 ~ / .profile
첫 번째 명령을 읽고 명령을 읽고 실행합니다.
존재하고 읽을 수 있습니다. --noprofile 옵션은
쉘이이 동작을 막기 시작할 때 사용
ior.
로그인 쉘이 종료되면 bash는 명령을 읽고 실행합니다.
~ / .bash_logout 파일에서 존재합니다.
로그인 쉘이 아닌 대화식 쉘이
bash는 ~ / .bashrc에서 명령을 읽고 실행합니다.
해당 파일이 존재하는 경우 이를 사용하여 억제 할 수 있습니다.
--norc 옵션. --rcfile 파일 옵션은 강타를 강요합니다
파일 대신 명령을 읽고 실행
~ / .bashrc.
bash가 비 대화식으로 시작될 때 쉘을 실행하려면
예를 들어 스크립트는 BASH_ENV 변수를 찾습니다.
환경이 나타나면 그 가치가 확대되고
확장 된 값을 읽을 파일 이름으로 사용합니다.
실행하십시오. Bash는 다음 명령처럼 동작합니다
처형 :
[-n "$ BASH_ENV"] 인 경우; 그때. "$ BASH_ENV"; fi
그러나 PATH 변수의 값은 검색에 사용되지 않습니다
파일 이름으로