Existem várias maneiras de verificar se o usuário é root (para definir o PS1):
- o nome do usuário, usando
$USER,$(whoami)(a saída de$(whoami). N.B, o superusuário pode ser chamado de outra coisa, mas geralmente é chamado deroot. - o ID do usuário, usando
$EUIDou$UID(consulte aqui para obter algumas informações). UID 0 é sempre o superusuário.
Então, por exemplo, você pode substituir a linha PS1+="\[ - \u \]" por:
if [ $EUID -eq 0 ]; then
PS1+="\[ - ${red}\u \]";
else
PS1+="\[ - \u \]";
fi
Você também pode definir outra variável personalizada na linha:
PS1+="\[ - \u ${usercolor}\]"
E use uma instrução condicional antes se assim mudar a cor:
if [ $EUID -eq 0 ]; then
usercolor="\e[1;31m";
fi