Bash 스크립트 호출

Bash 스크립트 호출

간단한 스크립트 사용:

echo "file: $0"

다음과 같이 호출되면:

배시 myscript.sh

또는

./myscript.sh

file: myscript.sh예상대로 스크립트( )의 파일 이름을 제공 하지만 호출되면 다음과 같습니다.

소스 myscript.sh

또는

. ./myscript.sh

bash스크립트 파일 이름 대신 쉘 이름( )을 제공합니다 .

왜 이런가요?

답변1

첫 번째 호출은 스크립트를 해석하기 위해 새로운 bash 인스턴스를 시작합니다. 즉, bash가 $0해당 경로로 설정됩니다.

두 번째 호출은 파일을 실행 파일로 처리하고 실행하므로 $0해당 파일을 가리킵니다.

후자의 두 호출은 파일을 현재 bash 인스턴스에 로드하므로 $0그곳을 가리킵니다.

주의: #2는 실행 가능한 파일이 필요하지만 #1, #3, #4는 그렇지 않습니다.

관련 정보