스크립트가 PATH에 있는 경우 실행 파일의 경로를 설정하는 방법

스크립트가 PATH에 있는 경우 실행 파일의 경로를 설정하는 방법

my.sh그 안에 스크립트가 있고 /var/www해당 디렉터리를 PATH환경 변수 에 추가한다고 가정해 보겠습니다 . 이제 ./my.sh시스템 어디에서나 실행할 수 있습니다. 스크립트 내에서는 $0와 같습니다 /var/www/my.sh. 어떻게 만들어졌나요? PATH스크립트 이름에 경로 만 추가하나요?

답변1

$0실행 중인 프로세스의 이름입니다.

./script.sh따라서 실행될 프로세스로 스크립트를 호출하면 반환 /bin/bash ./script.sh되므로 여기서는 절대 경로 대신 상대 경로로 스크립트를 호출합니다. 그러나 호출 내부를 보고 있는 디렉터리 에 스크립트를 넣으면 절대 경로를 사용하며 프로세스가 다음과 같이 반환 됩니다 .$0./script.shPATH$0/usr/bin/script.sh/bin/bash /usr/bin/script.sh

답변2

$0신경 쓰지 마세요 $PATH. Bash의 특별한 매개 변수입니다.

$0은 쉘 또는 쉘 스크립트의 이름으로 확장됩니다. 이는 쉘이 초기화될 때 설정됩니다. bash가 명령 파일과 함께 호출되면 $0이 파일 이름으로 설정됩니다. 일반적으로 스크립트 사용 정보를 표시하는 데 사용됩니다.

자세히 알아보기$0 여기.

답변3

달리기:

PATH=`/var/www/my.sh`
echo $PATH

스크립트를 실행하면 결과는 다음과 같습니다.

/var/www/my.sh

관련 정보