Path
將同一父目錄下的多個子目錄添加到PATH
我已經安裝了一些工具並將其放在 $ HOME/tools/ and each tool has its own /bin directory that contains the executable program. I now have the path to each individual /bin in my $ HOME/.bashrc 文件如下:
export PATH=$PATH:$HOME/tools/tool1/bin export PATH=$PATH:$HOME/tools/tool2/bin ...
我想知道是否可以為所有工具編寫以下內容?
export PATH=$PATH:$HOME/tools
如果它不起作用,那麼最好的方法是什麼?
添加一個目錄
PATH
只使該目錄中的執行檔可作為裸命令名使用。這不會擴展到子目錄。您可以在
.profile
( not.bashrc
) 中放置一個循環來添加多個目錄,例如:for d in ~/tools/*/bin; do PATH="$PATH:$d" done
(你不需要重複
export
:當一個變數被導出時,它會保持導出狀態,並且修改會反映在環境中)。如果您在 下創建新目錄
tools
,這將不會反映在您正在進行的會話中,只會.profile
讀取下一次。如果這不令人滿意,您可以使用不同的方法:將單個目錄~/bin
放在 PATH 中,當您安裝軟體時,在~/bin
. Stow(或它的替代品XStow)是這樣做的好方法;有關其工作原理的概述,請參閱跟踪程序。