De acordo com a esta documentação do Ubuntu, o shell padrão do sistema no Ubuntu é o Dash , em vez do Bash , enquanto o shell de login padrão é Bash .
A saída de ls -al /bin/sh
mostra se / bin / sh é um symlink de Dash (mais provável) ou Bash. No meu caso, é Bash:
lrwxrwxrwx 1 root root 4 Apr 8 2014 /bin/sh -> bash
O traço não poderá interpretar echo "this was written by rc.local" > /home/simon/start_text
em /etc/rc.local
, então você precisa especificar para usar o Bash para interpretar o comando como este
/bin/bash echo "this was written by rc.local" > /home/simon/start_text
.
Você pode alterar o shell do sistema padrão para Bash, mas não é recomendado excluindo e recriando os links simbólicos:
rm -f /bin/sh
sudo ln -s /bin/bash /bin/sh
Ou de volta ao Dash:
rm -f /bin/sh
sudo ln -s /bin/dash /bin/sh