我安裝一個從網際網路下載來的應用程式,而且一切看來還算順利,不過當我試著輸入它的名稱來執行它時,我卻得到 "command not found" 的錯誤訊息。 我想我輸入的是正確的名稱,那為什麼無法啟動呢?
假如您試著從 shell 提示符號來啟動應用程式,而卻無法執行,請試著在該應用程式執行檔的前面輸入完整的目錄路徑(例如 /usr/local/bin/my-executable)。
例如,假設您下載了 setiathome 用戶端的應用程式,而想試試看。 您已遵照安裝該軟體的指示,並且已經在您的家目錄建立一個稱為 seti/ 的子目錄。 現在,請如下所示輸入該執行檔完整的路徑名稱來啟動這個應用程式:
/home/joe/seti/setiathome |
為了要啟動一個應用程式,您之所以需要使用完整路徑名稱的原因是因為該執行檔並不位於您使用者 shell 環境所搜尋的路徑(例如 /usr/local/bin)。
您可以自訂您的設定,所以您不必每次都要輸入應用程式的完整路徑。 您可以藉由編輯您的 PATH 環境變數來做好這個設定。
假如您經常啟動的應用程式不位於您的使用者 shell 預設搜尋的目錄中,您將必須要編輯您的使用者 shell 設定檔,來增加含有您希望執行之執行檔的目錄。 您只要將該目錄增加到您的 PATH 環境變數即可。
警示 | |
---|---|
這些指示是 "專門" 給使用者帳號設定的。 由於潛在的安全性考量,請避免去更改如 root 使用者的 .bash_profile 檔案。 |
在 shell 提示符號下啟動一個文字編輯器,例如 gedit 或 vi,您可以輸入以下的指令來開啟稱為 .bash_profile 的檔案:
gedit .bash_profile |
您將會看到一個 PATH 的項目,類似以下所示。
PATH=$PATH:$HOME/bin:/usr/local/bin: |
請在這一行的最後,增加 $HOME/seti,如以下所示:
PATH=$PATH:$HOME/bin:/usr/local/bin/:$HOME/seti: |
儲存檔案後離開文字編輯器。
現在您可以輸入以下的指令來使 .bash_profile 檔案中的變更馬上生效:
source.bash_profile |
藉由增加路徑到您的 .bash_profile 檔案,您可以將工具與程式放置到您設定的路徑下,之後您便不需要在指令之前輸入 ./ 即可執行它們。
建議 | |
---|---|
如需關於使用與設定 shell 提示符號的更多資訊,請參考 第13章 。 |