$ PATH和$ fpath有什么区别?

shi*_*hin 8 macos path

当我输入时echo $PATH,echo $FPATH我得到不同的输出.$PATH和之间有什么区别$FPATH

我使用Mac OSX Mavericks.

Kir*_*chs 7

FPATH 是函数定义的搜索路径.

FPATH 函数定义的搜索路径.当引用具有-u属性的函数和未找到命令时,将搜索此路径中的目录以查找与函数或命令同名的文件.如果找到具有该命令名称的可执行文件,则在当前环境中读取并执行该文件.与PATH不同,当前目录必须由显式表示.而不是相邻:字符或开头或结尾:.

- 来自mac开发人员库

除了被ksh@robmayoff用在他的回答中.zsh也使用它.


rob*_*off 4

类 Unix 系统上的所有 shell 都会搜索PATH可执行文件作为子进程运行。

Korn shell( ksh) 搜索FPATH定义要在当前进程中加载​​和执行的 shell 函数的文件。

Z shell ( zsh) 搜索fpath定义要在当前进程中加载​​和执行的 shell 函数的文件。看Autoloading Functions

  • 小写的“fpath”在 zsh 中肯定意味着一些东西:http://zsh.sourceforge.net/Doc/Release/Functions.html (2认同)