2013-02-05 49 views
2

每次我安裝新程序時,都必須將其子目錄添加到PATH中?或者沒有這種說法覆蓋我.bashrcPATH和文件結構

所有子目錄?:PATH=$PATH:~/local/bin如果我必須添加的每個子目錄路徑是存在的自動化解決方案,我可以在.bashrc什麼地方呢?所以在啓動時,它會檢查所有的PATH子目錄,如果FALSE更新?

回答

1

如果這是真的,你有目錄$HOME/local/bin下像

$HOME/local/bin/atool 
$HOME/local/bin/btool 
$HOME/local/bin/ctool 

的情況下,你想每一個這些在你的$PATH那麼你可以做你的.bashrc或可能是你的下面.bash_login,因爲每當你從現有的開始一個bash會話時,你都不會希望這樣做。

MYLOCALPATH=`find $HOME/local/bin -type d -depth 1 | paste -s -d : -` 
PATH=$PATH:$MYLOCALPATH 

如果不是這樣,那麼也許你可以在什麼不會發生你作爲一般的EXE文件通常安裝在<somewhere>/bin即使他們是不是版本的原因,它們通常會成爲一個更具體一點在那裏聯繫。

+0

我想你抓住了我的問題的精神。我正在安裝各種科學研究工具。基本上,我下載一個tar球並將其解壓到我的工具所在的「〜/ local/bin」中。每當我在該位置添加一個文件夾時,我都覺得不得不將PATH添加到PATH中。 –

+0

您不必擔心更新PATH,只需確保您只在一個地方添加這些特殊目錄。上面的一個變體是使用PATHS文件在該文件上添加和使用「粘貼」。我相信你最終會得到你的bin目錄中的目錄,你不想將它們添加到PATH中。 – sotapme

0

通過程序包管理器或make install安裝沒有特殊./configure選項,將安裝自己或至少在標準二進制目錄中添加一個符號,如/usr/bin/或有時/usr/games/bin/usr/local/bin

你不需要的程序數據目錄添加到路徑。