有什么方法可以让 bash 搜索子目录来查找可执行文件?

有什么方法可以让 bash 搜索子目录来查找可执行文件?

我刚刚在电脑上安装了一些软件,使用一段时间后,我发现 /usr/local/bin 下的文件很难管理,因为我不知道每个文件属于哪个软件,因此很难卸载它们或更改它们(可能是它们的名字)。

为了做到这一点,我认为最方便的方法是将软件放在单独的目录中/usr/local/,但仅仅这样做还不足以使 bash 正常工作。

我想到第一个解决方案是向 中的变量/usr/local/*/bin添加通配符。但是没有用。PATH.bashrc

我想到的第二个解决方案是使用 overlayfs。但我认为这太过分了,并且会产生额外的开销。

那么有没有什么办法可以做到这一点?

我的电脑是Debian 9.4, linux kernel 4.9, gcc 6.3

答案1

未通过常规方式安装的软件经常会进入/opt

为了使命令在 bash 中可用,你可以将包含可执行文件的目录添加到路径中不带通配符(这意味着您添加的每个软件都有一个条目)。

另一个解决方案是在您的可执行文件中添加一个简短的启动脚本或软链接~/bin~/bin如果存在,则通常包含在路径中)。

相关内容