No Ubuntu 13.10, para a configuração padrão, o seguinte comando em Terminal
user@host:~/path$ sudo su
resulta em inserir um prompt
root@host:/home/user/path#
E este comando
user@host:~/path$ sudo bash
insere o prompt
root@host:~/path#
Isso significa que um diferente entre esses dois comandos é que ~ tem significado diferente?
Normalmente, uso apenas sudo . Mas às vezes não é suficiente. Por exemplo, se eu quisesse escrever um comando que modifica algum arquivo com cat >> file <<EOF , e o arquivo é gravável apenas para root , eu tenho que usar sudo su ou sudo bash (assume bash é seu shell preferido ). Mas o exemplo acima parece mostrar que o uso de sudo bash é melhor porque o ambiente de operação é mais parecido com o anterior. É este o caso? O que mais é diferente entre esses comandos?