¿Cómo entro a root y hago que cambie mi mensaje?

¿Cómo entro a root y hago que cambie mi mensaje?

Estoy usando ubuntu-10.04 y bash. Quiero ir a la raíz y cambiar mi mensaje a caracteres rojos subrayados para reflejar que estoy en la raíz. En el símbolo del bash, si escribo:

$ sudo bash

luego entro a la raíz, sin embargo, mi mensaje no cambia. En /root/.bashrctengo:

RED="\[\033[0;31m\]"
UNDERLINE="\[\033[4m\]"
DEFAULT="\[\033[0m\]"
export PS1=$RED$UNDERLINE'\u@\h:\w\$'$DEFAULT' '

sin embargo, este archivo no se está leyendo. Para que se lea tengo que ingresar en el mensaje:

# . /root/.bashrc

lo cual no quiero tener que hacer. ¿Cómo lo configuro para que cuando entre al root /root/.bashrcse ejecute automáticamente?

Respuesta1

  • En primer lugar, ¿es sudo rootsiquiera un comando válido? ( sudo -so sudo -isería.)

  • Prefiero editar mipropio .bashrcen lugar de la raíz. Puedes tener, por ejemplo,

    if (( $UID == 0 )); then
        PS1="$RED$UNDERLINE"
    else
        PS1="$GREEN"
    fi
    PS1="$PS1\u@\h:\w\$$DEFAULT "
    
  • Puede utilizar sudo -ipara hacer que se lean los archivos rc de root en lugar de los suyos.

Respuesta2

Parece que sudo está configurado para usar las variables de entorno de los usuarios originales y no las nuevas.

O configura env_reset and env_keep options in /etc/sudoerso restablece explícitamente las variables de entorno a las del usuario objetivo con -H: sudo -H -u root

información relacionada