Bash

將單個二進製文件添加到 PATH

  • March 10, 2022

也許這是一個 WSL 問題,在這種情況下,我不知道該去哪裡問。

我有一個要添加到 path 的二進製文件~/.scry/bin/scry。所以我去~/.bashrc添加

export PATH="$HOME/.scry/bin/scry:$PATH"

我不想添加該文件夾的原因是因為~/.scry/bin在我的 PATH 中有一些我不想要的其他二進製文件。

我這樣做了,然後執行:

~$ . .bashrc

但是當我執行scry(二進製文件)時,我得到一個command not found錯誤。我嘗試重新啟動控制台(Ctrl+ D)並再次打開它(debian)。但它仍然無法辨識該命令。

我不確定如何繼續,請幫助。

這不起作用——來自的路徑PATH將被視為要添加到命令的目錄,無論它們是執行檔還是任何其他類型的文件。

一個簡單的解決方案是在其他地方創建一個目錄,在那裡創建一個指向二進製文件的符號連結,然後將該目錄添加到PATH

mkdir ~/my-bin
ln -s ~/.scry/bin/scry ~/my-bin
PATH=$PATH:~/my-bin
hash -p "$HOME"/.scry/bin/scry scry

將以上內容添加到您的.bashrc文件中將告訴您的互動式 shellscry位於"$HOME"/.scry/bin/scry.

做類似事情的其他方法包括創建一個別名

alias scry="$HOME"/.scry/bin/scry

或者一個shell函式

scry () {
   "$HOME"/.scry/bin/scry "$@"
}

PATH變數包含一個:- 分隔的目錄列表,當給出尚未使用的命令時將搜尋這些目錄。因此,將實用程序的路徑名添加到PATH變數中不會真正做任何事情。

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