这可能是一个愚蠢的问题,很抱歉在这里浪费你的时间,但我在创建 shell 脚本时遇到了一个问题。脚本本身确实运行(出于测试目的,它只是一个回显),但是我希望它通过将其放在 ~/bin/ 文件夹中仅从其名称运行。这在过去对我来说是有效的,但我似乎犯了某种错误。控制台输出:
johannes@pickle:~$ ~/bin/d
hahaha
johannes@pickle:~$ d
d: command not found
我正在使用的脚本:
#!/bin/sh
echo hahaha
编辑:重新启动解决了这个问题。感谢甜点提供的提示。
答案1
通过以下几行将该~/bin
目录添加到您的 PATH 中~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
这将测试目录是否存在并添加它,但~/.profile
仅在登录时运行 - 因此,如果您只是创建~/bin
它,它不会在下次登录/重启之前添加到您的路径中。您可以通过运行手动添加它:
export PATH="$HOME/bin:$PATH"
答案2
您的脚本位于~/bin/d
,它是一个本地目录(/home/<user>/bin
)。
它没有添加到 PATH,因此如果没有文件路径它就无法工作。