을 입력하는 것과 같이 OS X (10.6.4) 터미널에서 bash 쉘을 검사하면 다음과 같이 echo $0
쉘 앞에 대시가 -bash
있습니다. 이 대시는 무엇을 의미합니까?
답변
bash
로그인 쉘로 호출 된다는 의미입니다 .
man bash
말한다 :
로그인 쉘은 인수 0의 첫 문자가
-
이거나--login
옵션으로 시작된 문자입니다 .bash가 대화식 로그인 쉘 또는
--login
옵션이 있는 비 대화식 쉘로 호출 될 때/etc/profile
파일이 존재하는 경우 먼저 파일에서 명령을 읽고 실행 합니다. 해당 파일을 읽은 후, 그것은을 찾습니다~/.bash_profile
,~/.bash_login
그리고~/.profile
, 순서대로, 그리고 읽고 존재하고 읽을 수있는 첫 번째에서 실행하는 명령을.--noprofile
쉘이 동작을 억제하기 시작할 때 옵션을 사용할 수있다.로그인 쉘이 종료되면 bash는 파일에서 명령을 읽고 실행합니다 (있는
~/.bash_logout
경우).
당신은 찾을 수 있습니다 login -pf
당신에 ps
기본적으로 로그인 쉘을 시작 출력.
실행 시도 login -pf
하고 login -pfl
그 차이를 참조하십시오. man login
차이점을 설명합니다.
-l
이 로그인 세션이 아니라고 로그인에 의해 실행 프로그램 지시 (관례를, 로그인 세션의 첫 번째 문자로 하이픈으로 프로그램에 신호되어argv[0]
,이 옵션을 비활성화하는), 및 방지 그것을에서chdir(2)
사용자의 홈 디렉토리에 보내고 . 기본값은 하이픈을 추가하는 것입니다 (이것은 로그인 세션입니다).