即使腳本位於 PATH 中也找不到

即使腳本位於 PATH 中也找不到

看看這個終端輸出......

bjorn@jungleland:~$ cd bin
bjorn@jungleland:~/bin$ ./first.sh 
Hello World
bjorn@jungleland:~/bin$ cd ..
bjorn@jungleland:~$ pwd
/home/bjorn
bjorn@jungleland:~$ echo $PATH
/home/bjorn/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/bjorn/bin
bjorn@jungleland:~$ ./first.sh
bash: ./first.sh: No such file or directory
bjorn@jungleland:~$ 

當我在主目錄中時,為什麼找不到first.sh?我已經嘗試退出並重新登入了!

答案1

因為您正在專門運行./first.sh,即一個名為“first.sh”的腳本,該腳本位於目前目錄( ./)。無論它是否在 $PATH 中都無關緊要。如果您提供完整路徑,就像您所做的那樣,系統將在給定的路徑中尋找可執行檔。比較以下指令:

/bin/ls      <-- works
ls           <-- works
../../bin/ls <-- works if you are in $HOME
./ls         <-- fails unless you are in /bin

你想要運行的是first.sh而不是./first.sh.

相關內容