my.sh
그 안에 스크립트가 있고 /var/www
해당 디렉터리를 PATH
환경 변수 에 추가한다고 가정해 보겠습니다 . 이제 ./my.sh
시스템 어디에서나 실행할 수 있습니다. 스크립트 내에서는 $0
와 같습니다 /var/www/my.sh
. 어떻게 만들어졌나요? PATH
스크립트 이름에 경로 만 추가하나요?
답변1
$0
실행 중인 프로세스의 이름입니다.
./script.sh
따라서 실행될 프로세스로 스크립트를 호출하면 반환 /bin/bash ./script.sh
되므로 여기서는 절대 경로 대신 상대 경로로 스크립트를 호출합니다. 그러나 호출 내부를 보고 있는 디렉터리 에 스크립트를 넣으면 절대 경로를 사용하며 프로세스가 다음과 같이 반환 됩니다 .$0
./script.sh
PATH
$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