¿Cómo entro en root y hago que cambie mi prompt?


3

Estoy usando ubuntu-10.04 y bash. Quiero ingresar a la raíz y hacer que cambie mi solicitud a caracteres rojos subrayados para reflejar que estoy en la raíz. En el indicador de bash, si escribo:

$ sudo bash

Luego entro a la raíz, sin embargo mi indicador no cambia. En /root/.bashrc Yo tengo:

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 poder leerlo, tengo que ingresar al aviso:

# . /root/.bashrc

Que no quiero tener que hacer. ¿Cómo lo configuro para que cuando entro en la raíz, /root/.bashrc corre automáticamente?

Respuestas:


2
  • Primero es sudo root incluso un comando válido? ( sudo -s o sudo -i sería.)

  • Prefiero editar mi propio .bashrc en 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 "
    
  • Puedes usar sudo -i para hacer que los rcfiles de root se lean en lugar de los tuyos.


Lo siento, quise decir sudo bash. Tienes razón, sudo root no tiene sentido. De todos modos, su sugerencia de una declaración if en el $ UID funciona.
Philip Hunt

@Philip: Si una respuesta es útil, considere marcándolo como aceptado .
grawity

1

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

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.