我知道,如果我有一个自定义路径CUSTOM_PATH=/some/custom/path/
,那么我只执行export PATH=$PATH:$CUSTOM_PATH
,以便在系统范围内访问/some/custom/path
中的可执行文件。
但是,由于一些复杂的原因,如果我可以定义$CUSTOM_PATH
,而不是将其附加到$PATH
,但仍然可以像将其附加在$PATH
一样搜索其内容,那就太好了。
这就是我所说的"另一个"PATH变量的意思:一个像$PATH一样搜索但单独定义的路径。有办法做到这一点吗?
快速回答:不。
如果这是可能的,那么它可能是这样的:
export CUSTOM_PATH=/usr/local/bin
export PATH='/usr/bin:/bin:$CUSTOM_PATH'
这将把文本字符串"$CUSTOM_PATH"
放入$PATH
中。然后,您可以在不接触$PATH
的情况下更改$CUSTOM_PATH
的值,并隐式更新系统的搜索路径。
但它不是这样工作的。相关的库函数(execlp
等(将$PATH
环境变量的值视为以冒号分隔的文本目录名序列。它没有对这些名字进行任何扩展。
只要您想更改系统搜索路径,就必须随时更新$PATH
。(您可以以任何方式维护$PATH
的值,包括合并其他环境变量的值。(