我正在学习编写 shell 脚本linuxcommand.org 上的本教程。 它说 -
大多数现代 Linux 发行版都鼓励这样一种做法:每个用户都有一个特定的目录来存放他/她个人使用的程序。这个目录称为 bin,是你主目录的一个子目录。
我试过了。但我得到了以下错误-
foobar: command not found
在该页面的后面,还提到:
在某些发行版上,尤其是 Ubuntu,您需要打开一个新的终端会话,然后才能识别新创建的 bin 目录。
也就是说 ubuntu 支持这个功能,但是为什么不起作用呢?
我在使用 Ubuntu 12.04 LTS。
答案1
当您登录或启动新 shell 时,会解析一些脚本。具体解析哪些脚本取决于您使用的 shell(例如 ksh、csh、tsch、bash、dash、pinosh 等)以及它是否是登录 shell。
如果您使用 Ubuntu 的默认设置,那么它可能会包含以下内容:
# 设置 PATH 以使其包含用户的私有 bin(如果存在) 如果 [ -d "$HOME/bin" ] ; 然后 PATH="$HOME/bin:$PATH" 菲
换句话说,如果 ~/bin/ 已经存在,则将其添加到搜索路径。
如果不存在,则没有理由每次都尝试搜索该位置。所以不要添加它。
这意味着您必须创建 ~/bin/ 然后启动一个新 shell,或者创建它并手动向其中添加路径。
至于“大多数现代 Linux 发行版都鼓励这样做”。早在 1991 年,当我在运行 ESIX 的服务器上获得第一个 unix 帐户时,就已经鼓励这样做了。但今天仍然如此。