Hay una pregunta reciente con respecto a varios administradores de sistemas que funcionan como root, y sudo bash -lse hizo referencia a ella.
Busqué esto en google y SE, pero no entiendo la diferencia entre sudo bash -ly sudo -i.
De las páginas de manual para bash y sudo parece que la diferencia puede ser que sudo bash -lejecuta ~ / .bash_profile, ~ / .bash_login y ~ / .profile, y ~ / .bash_logout del usuario root, pero al probarme a mí mismo parece que ejecuta el .bashrc del usuario normal y no el root. Es posible que haya entendido mal a qué usuario hace referencia la expresión ~ en las páginas de manual. Se agradecería la aclaración de la diferencia y los escenarios de uso.

También añadir a @ johnshen64 responder me di cuenta de que la
sudo -iinvocación actualiza la$USERNAMEvariable de entorno arootycd ~al inicio del usuario como tal;Sin embargo, for no
sudo bash -l$USERNAMEes molestado y el directorio de trabajo no cambia. (aunque esto no es coherente con otros usuarios, vea los comentarios ...)Entonces, presumiblemente, no está obteniendo exactamente el mismo conjunto
~/.bashrco no está en el mismo orden, etc.(mi caja podría haber estado un poco desordenada por mis
.bashrcretoques, así que YMMV)fuente
echo $USERNAMEdevuelve root las dos veces (en mi escritorio ubuntu y centos 5.2). PWD es como informas sin embargo.