Ubuntu 从/bin/dir执行文件

Ubuntu 从/bin/dir执行文件,ubuntu,Ubuntu,如何使本地bin下的目录也可执行 乙二醇 我能执行 ~/bin/a.out 但不是 ~/bin/dir/a.out您需要将目录添加到PATH环境变量中。我认为对于CommonShell(ba)sh,路径搜索不可能是递归的,因此您需要手动设置它 export PATH=$PATH:~/bin/dir 要自动执行此操作并支持多个子目录,请将其添加到您的。配置文件: PATH=${PATH}:$(find ~/bin -type d | tr '\n' ':' | sed 's/:$//') 只是

如何使本地bin下的目录也可执行

乙二醇

我能执行 ~/bin/a.out 但不是
~/bin/dir/a.out

您需要将目录添加到PATH环境变量中。我认为对于CommonShell(ba)sh,路径搜索不可能是递归的,因此您需要手动设置它

export PATH=$PATH:~/bin/dir
要自动执行此操作并支持多个子目录,请将其添加到您的。配置文件:

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

您收到了什么错误消息?一般来说,你的二进制文件在哪里并不重要,只要它们对你来说是
chmod+x
。你可以在你的本地目录上使用递归的chmod+x和-rth。这个很好的介绍可能会有帮助:@tripleee我得到错误消息“a.out:Command not found”,这个目录对我来说是可执行的。然而,我相信我需要以某种方式编辑~/.profile,但我真的不知道如何编辑。或者使用完整路径,
~/bin/dir/a.out
,而不仅仅是
a.out
;但由于这是OP在问题中所写的,我认为他/她已经在这么做了。