递归地将目录添加到 $PATH 变量

aja*_*bot 5 linux

是否可以递归地将目录添加到我的 $PATH 变量中?假设我有一个如下的目录结构:

/usr/local/bin
    - /nodejs-x.x
    - /redis-x.x
    - /mongodb-x-x
Run Code Online (Sandbox Code Playgroud)

我可以添加/usr/local/bin到 $PATH 并允许它递归覆盖子目录吗?

use*_*686 5

不直接,不。中的条目$PATH不是递归的。

你能做的是:

for d in /usr/local/bin/*/; do
    PATH+=":$d"
done
Run Code Online (Sandbox Code Playgroud)

另一种选择是将符号链接放入/usr/local/bin

cd /usr/local/bin
ln -s myapp-1.2/myapp myapp
Run Code Online (Sandbox Code Playgroud)