您如何使本地 bin 下的目录也可执行?
例如
我能够执行 ~/bin/a.out 但不能执行 ~/bin/dir/a.out
您需要将目录添加到 PATH 环境变量中。我认为普通 shell (ba)sh 不可能使路径搜索递归,因此您需要手动设置它。
export PATH=$PATH:~/bin/dir
要自动执行此操作并支持多个子目录,请将其添加到您的 .profile 中:
PATH=${PATH}:$(find ~/bin -type d | tr '\n' ':' | sed 's/:$//')
澄清一下,变量 PATH 是输入未知命令时搜索可执行文件的目录列表。分隔符是 : 正如您使用命令所看到的:
$ echo $PATH
/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/bin