É a diferença entre como bash
e dash
tratam casos quando um comando não é encontrado.
Em bash
, existe uma função chamada 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
}
Então, em bash
:
$ foobar
foobar: command not found
No caso de dash
, não existe essa função definida e obtemos:
$ foobar
dash: 1: foobar: not found
Como o Ubuntu usa dash
como o shell padrão para operações internas, então quando dash
estiver analisando algum script, ele mostrará seu próprio formato.