Antes de hacer clic, esta no es la típica pregunta "¿cómo puedo hacer que mi indicador de bash tenga color"? Ya he personalizado mi mensaje bash para que se vea así:
[user @ host]----[$(pwd)]
$
donde todo entre paréntesis es azul claro, y todo lo demás (incluido $) es negro agregando lo siguiente a mi archivo ~ / .bashrc
# Turn the prompt symbol red if the user is root
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n\e[01;31m#\e[00m "
else
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n$ "
fi
El objetivo es lograr que lo único que cambia cuando uso 'sudo su' es que el $ negro cambia a un # rojo. He buscado en /etc/bash.bashrc y / etc / profile para ver si solo hay una línea para comentar, pero hay un montón de cosas sobre debian_chroot que no entiendo, y no quiero arruinar algo ¿Cómo puedo lograr lo que quiero?
PD: así es como quiero que se vea el mensaje como root
[user @ host]----[$(pwd)]
(red)#
editar: Marque esto resuelto, agregando el código anterior a ~ / .bashrc mientras que root logró mi objetivo. Además, en el código anterior, $ (pwd) solo muestra el directorio de inicio (supongo que es el directorio de trabajo cuando se abre el terminal), y nunca se actualiza. Reemplazar $ (pwd) con \ w corrige esto, pero muestra el directorio de inicio como ~
, que estaba tratando de evitar.
\e[01;31m
, en \[...\]
. Esto se explica en PROMPTING en el manual. También vea mywiki.wooledge.org/BashFAQ/053
pwd
que no funcionó en el indicador es que necesita escapar del signo de dólar, de lo contrario $(pwd)
se ejecutará antes de que el contenido se coloque en $ PS1. Puede probar con esto: PS1="\$(pwd) "
.