Como faço para entrar no root e alterar meu prompt?

3

Estou usando o ubuntu-10.04 e o bash. Eu quero ir para a raiz e tê-lo mudar meu prompt para caracteres vermelhos sublinhados para refletir que eu estou na raiz. No prompt bash, se eu digitar:

$ sudo bash

depois eu entro na raiz, mas meu prompt não muda. Em /root/.bashrc tenho:

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

no entanto, este arquivo não está sendo lido. Para que seja lida eu tenho que entrar no prompt:

# . /root/.bashrc

que eu não quero ter que fazer. Como configurá-lo para que, quando eu for para a raiz, /root/.bashrc seja executado automaticamente?

    
por Philip Hunt 10.04.2011 / 11:06

2 respostas

2

  • Primeiro, sudo root é um comando válido? ( sudo -s ou sudo -i seria.)

  • Eu prefiro editar meu próprio .bashrc em vez do root. Você pode ter, por exemplo,

    if (( $UID == 0 )); then
        PS1="$RED$UNDERLINE"
    else
        PS1="$GREEN"
    fi
    PS1="$PS1\u@\h:\w\$$DEFAULT "
    
  • Você pode usar sudo -i para fazer com que os arquivos rc do root sejam lidos no lugar do seu.

por 10.04.2011 / 11:14
1

Parece que o sudo está configurado para usar as variáveis de ambiente dos usuários originais e não as novas.

Você pode definir o env_reset and env_keep options in /etc/sudoers ou reconfigurar explicitamente as variáveis de ambiente para as do usuário de destino com -H : sudo -H -u root

    
por 10.04.2011 / 11:38