存在するこの問題ユーザーに「見つかりません」というエラーが表示されます。エラーは「コマンドが見つかりません」ではなく「見つかりません」ということに気づきました。
これら2つのエラーは異なりますか?以前にこの問題に注意を払ったことがないのか、それともこれが違いをもたらすのかは分かりません。
例は次のとおりです。
/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
dash
Ubuntuは内部操作にデフォルトのシェルを使用するため、特定のdash
スクリプトを解析するときに独自の形式を表示します。