網頁

2019/6/13

Linux 為什麼執行程式前要加上點斜線./

在Linux bash執行所在目錄中的某個程式前都會加上點斜線符號./才能執行,例如

$ ./startup.sh

如果前面沒加上./,就出現下面找不到指令的訊息而無法執行。

$ startup.sh
-bash: startup.sh: command not found

當在Linux執行命令時,若命令前不含斜線(slash)/,shell會從環境變數$PATH所指的目錄中來尋找該命令的實際位置,而通常你要執行的程式所在目錄不在$PATH變數中。

而點(dot).的意思是指當下目錄,因此執行程式前加上./的意思就是告訴shell直接執行所在目錄下的某個檔案,不要從$PATH中尋找。


參考:

沒有留言:

張貼留言