É 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.