~/bin 中的 Shell 脚本正在运行,但找不到命令

~/bin 中的 Shell 脚本正在运行,但找不到命令

这可能是一个愚蠢的问题,很抱歉在这里浪费你的时间,但我在创建 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,因此如果没有文件路径它就无法工作。

相关内容