有没有办法设置“另一个” PATH变量?

时间:2020-03-24 18:52:06

标签: linux unix path

我知道,如果我有一个自定义路径CUSTOM_PATH=/some/custom/path/,那么我只需执行export PATH=$PATH:$CUSTOM_PATH,即可在系统范围内访问/some/custom/path中的可执行文件。

但是,由于一些复杂的原因,如果我可以定义$CUSTOM_PATH,而不是将其附加到$PATH,但仍要对其内容进行搜索,就像将其附加到$PATH一样,那将是很好的选择

这就是我的“另一个” PATH变量的意思:类似于$ PATH一样搜索但单独定义的路径。有办法吗?

1 个答案:

答案 0 :(得分:0)

快速解答:否

如果可能的话,可能是这样的:

export CUSTOM_PATH=/usr/local/bin
export PATH='/usr/bin:/bin:$CUSTOM_PATH'

这会将文字字符串"$CUSTOM_PATH"放入您的$PATH中。然后,您可以更改$CUSTOM_PATH的值而无需触摸$PATH,并隐式更新系统的搜索路径。

但是这种方式行不通。相关的库函数(execlp等人)将$PATH环境变量的值视为用冒号分隔的文字目录名称序列。它没有对这些名称进行任何形式的扩展。

只要您想更改系统搜索路径,就只需更新$PATH。 (您可以通过任意方式维护$PATH的值,包括合并其他环境变量的值。)