
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/.bashrc
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 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/.bashrc
se ejecute automáticamente?
Respuesta1
En primer lugar, ¿es
sudo root
siquiera un comando válido? (sudo -s
osudo -i
sería.)Prefiero editar mipropio
.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 "
Puede utilizar
sudo -i
para 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/sudoers
o restablece explícitamente las variables de entorno a las del usuario objetivo con -H
:
sudo -H -u root