2013-10-07 121 views
6

爲什麼設置PATH最後需要:${PATH}bash_profile中的設置路徑

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

當我追加到這個路徑,我會做

PATH=$PATH:... 

如何追加PATH沒有去到一個新行。也就是說,我將如何將PATH附加到原始PATH聲明中。

例如,如果我想將以下全部放在第一行。這與:${PATH}部分有什麼相互作用?

PATH=$PATH:/usr/local/mysql/bin 

回答

16

有追加現有路徑到前或$PATH環境變量的末尾之間的差。 bash解析執行路徑的方式是從列表的前面開始。這意味着,如果你在你的路徑這兩個目錄:

PATH="/dir1/bin:/dir2/bin" 

而且他們都具有可執行test.sh它,那麼當你運行test.sh,它會因爲該目錄首次出現在執行中/dir1/bin/test.sh的一個路徑。

此外,${PATH}$PATH相同。

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

被簡單地添加/Library/Frameworks/Python.framework/Versions/2.7/bin到路徑的前部和

PATH=$PATH:/usr/local/mysql/bin 

被簡單地添加/usr/local/mysql/bin到路徑的末尾。

那麼你如何在一條線上做到這一點?類似這樣的:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:/usr/local/mysql/bin"