2013-12-08 58 views
3

當我輸入echo $PATHecho $FPATH我得到不同的輸出。 $PATH$FPATH之間有什麼區別?

我使用Mac OSX Mavericks。

+3

此鏈接爲什麼你希望兩個不同的變量包含相同的價值呢? – Mat

+1

小心大寫小寫字母。 Shell變量區分大小寫,所以'PATh'和'PATH'是不同的東西。 – janos

回答

1

小寫fpath並不代表我知道的任何shell中的任何內容。

大寫FPATH使用由ksh(Korn shell中)找到定義shell函數文件,但它不是由bash使用,這仍然是小牛上默認的shell,據我所知。

+0

小寫'fpath'絕對意味着zsh中的某些內容:http://zsh.sourceforge.net/Doc/Release/Functions.html – JKesMc9tqIQe9M

6

FPATH是函數定義的搜索路徑。

FPATH函數定義的搜索路徑。當帶有-u屬性的函數被引用並且沒有找到命令時,將在該路徑中的目錄中搜索與該函數或命令具有相同名稱的文件。如果找到具有該命令名稱的可執行文件,則會在當前環境中讀取並執行該文件。與PATH不同的是,當前目錄必須通過顯式表示。而不是由相鄰的:字符或開頭或結尾:。

- 從mac developer library

除了正在使用的ksh作爲@robmayoff在他answer指出。 zsh也使用它。

+0

zsh鏈接:http://zsh.sourceforge.net/Doc/Release/Functions.html – JKesMc9tqIQe9M

1

兩者都是不同的環境變量,它們的值可能不一樣。

而且,看到environment variables

FPATH Contains a list of directories that the z/OS shell searches to find shell functions.

PATH Defines the default command path.

相關問題