Gil*_*il' 32
通常的 unix 目录结构将应用程序文件按种类分类到目录中:bin用于可执行文件、lib用于库、doc用于文档等。那是它们安装在单独的目录中的时候;经常应用被分成几个目录(因此很多系统刚刚三个目录中$PATH:/usr/local/bin,/usr/bin和/bin)。一个目录中同时包含可执行文件和子目录的情况很少见,因此不需要将目录的子目录包含在$PATH.
有时可能有用的是bin将给定目录的子目录的所有子目录包含在$PATH:
for d in /opt/*/bin; do PATH="$PATH:$d"; done
Run Code Online (Sandbox Code Playgroud)
但是,很少这样做。当可执行文件位于非标准目录中时,通常的方法$PATH是在路径中的目录中创建符号链接,例如/usr/local/bin. 该stow实用程序(或xstow)可以是在这方面是有用的。
vsc*_*hum 30
使用 find 递归地添加它们,如下所示:
PATH=$PATH$( find $HOME/scripts/ -type d -printf ":%p" )
Run Code Online (Sandbox Code Playgroud)
警告:正如对问题的评论中所述,不鼓励这样做,因为它会带来安全风险,因为无法保证添加的目录中的可执行文件不是恶意的。