Bash 쉘에서 $0의 의미는 무엇입니까

Bash 쉘에서 $0의 의미는 무엇입니까

Bash 매뉴얼에서

$0쉘 또는 쉘 스크립트의 이름으로 확장됩니다. 이는 쉘이 초기화될 때 설정됩니다.

Bash가 명령 파일을 사용하여 호출되면(39페이지 섹션 3.8 [쉘 스크립팅] 참조) $0이는 파일 이름으로 설정됩니다.

Bash가 이 옵션으로 시작되면 -c(80 페이지의 6.1절 [Bash 호출] 참조) $0실행될 문자열 다음의 첫 번째 인수(있는 경우)로 설정됩니다.

그렇지 않으면 인수 0으로 지정된 대로 Bash를 호출하는 데 사용되는 파일 이름으로 설정됩니다.

처음 두 가지 경우는 이해하지만 마지막 경우는 이해하지 못합니다. "그렇지 않으면"과 "Bash를 호출하는 데 사용되는 파일 이름"은 정확히 무엇을 의미합니까?

답변1

/bin/bashBash는 실행 파일( )을 직접 사용하거나 링크를 사용하는 등 다양한 방법으로 호출할 수 있습니다 /bin/sh. "그렇지 않으면"은 이 경우를 다루며 Bash를 호출하는 데 사용되는 파일 이름은 - bashsh입니다./bin/sh

시도해 보면 다음과 같은 내용을 보게 될 것입니다. bash그런 다음 echo $0prints bash, /bin/bash그다음 echo $0prints /bin/bash, 등.

틀림없이 이것은 shebangs에도 적용되지만 아마도 그것이 첫 번째 경우 일 것입니다.

관련 정보