在这个问题用户收到错误“未找到”。我意识到错误是“未找到”而不是“命令未找到”。
这两个错误有不同吗?我不确定我是否以前从未关注过这一点,或者这是否有所不同。
这是一个例子:
/etc/cron.daily/apt:
/etc/cron.daily/apt: 91: /etc/cron.daily/apt: date: not found
/etc/cron.daily/apt: 97: /etc/cron.daily/apt: rm: not found
/etc/cron.daily/apt: 448: /etc/cron.daily/apt: pidof: not found
xargs: rm: No such file or directory
/etc/cron.daily/apt: 176: /etc/cron.daily/apt: date: not found
/etc/cron.daily/apt: 176: /etc/cron.daily/apt: date: not found
答案1
bash
它是如何和dash
处理未找到命令的情况之间的区别。
在 中bash
,有一个名为 的函数command_not_found_handle
:
$ type command_not_found_handle
command_not_found_handle is a function
command_not_found_handle ()
{
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1";
return $?;
else
if [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1";
return $?;
else
printf "%s: command not found\n" "$1" 1>&2;
return 127;
fi;
fi
}
所以在bash
:
$ foobar
foobar: command not found
在 的情况下dash
,没有定义这样的函数,我们得到:
$ foobar
dash: 1: foobar: not found
由于 Ubuntu 使用dash
默认 shell 进行内部操作,因此在dash
解析某些脚本时它会显示自己的格式。