Linux

為什麼我只能從父目錄而不是子目錄執行 .sh 文件

  • August 25, 2018

我注意到這不起作用:

/tomcatDirectory/bin $ startup.sh //command not found

但這確實有效

/tomcatDirectory $ bin/startup.sh

我習慣了Windows。對我來說,我不能從其工作目錄執行程序,只能從父文件夾執行,這似乎違反直覺。

這裡發生的事情的更大圖景是什麼?

目前目錄(即.)不在您的路徑中。嘗試

./startup.sh

你可以檢查你的路徑

echo ${PATH}

可以將目前目錄 ( .) 添加到您的路徑中,但這被認為是一種風險(尤其.是在其他目錄之前):當鍵入命令時,shell 將首先嘗試在目前目錄中執行它。這將執行現有的而不是預設的。

總結:只需在目前目錄中啟動執行檔./即可。

因為“startup.sh”看起來並不像文件路徑,而且您.的 PATH 環境變數中沒有。但是您仍然可以將其啟動為./startup.sh

引用自:https://unix.stackexchange.com/questions/64664