自升级以来,我尝试运行的所有脚本都出现“命令未找到”错误。例如,如果我导航到终端中的目录,然后尝试执行脚本,就会收到此错误。脚本确实具有可执行权限。
我确实在某一时刻弄乱了我的道路,我不知道我是否以某种方式把它搞乱了?
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin"
fi
更新
如果我在终端的当前目录中使用“bash”运行脚本,脚本将运行bash myscript
,但如果没有它,我仍然会收到命令未找到错误。这是否意味着 bash 不再在我的路径中?如果是这样,我该如何解决这个问题?
结果echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
答案1
我确信我发现了一个错误。
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin"
fi
路径中不包括用户私有的 bin。您的路径只是$HOME/bin
尝试一下
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
您可以确认这是否是问题所在,echo $PATH
但由于您发布的路径看起来正常,这告诉我您没有$HOME/bin
目录。