首页 > 解决方案 > 有没有办法设置“另一个” PATH 变量?

问题描述

我知道如果我有一个自定义路径CUSTOM_PATH=/some/custom/path/,那么我只是export PATH=$PATH:$CUSTOM_PATH为了在系统范围内访问/some/custom/path.

但是,由于一些复杂的原因,如果我可以定义$CUSTOM_PATH,而不是将其附加到$PATH但仍然搜索其内容,就好像它附加到$PATH.

这就是我所说的“另一个”PATH 变量的意思:像 $PATH 一样搜索的路径,但单独定义。有没有办法做到这一点?

标签: linuxunixpath

解决方案


快速回答:没有。

如果这是可能的,那么它可能是这样的:

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

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

但它不是那样工作的。相关的库函数(execlp等)将$PATH环境变量的值视为以冒号分隔的文字目录名称序列。它不会对这些名称进行任何类型的扩展。

您只需在$PATH想要更改系统搜索路径的任何时候进行更新。$PATH(您可以以任何您喜欢的方式维护值,包括合并其他环境变量的值。)


推荐阅读