Encuentra dónde estás PS1
está en .bashrc
e inserte '\[\e[1m\]'
al principio y \[\e[0m\]
al final.
\[
y \]
son necesarios para que el shell sepa que el desorden en el interior ocupa 0 espacio en la pantalla, lo que evita un comportamiento mal al hacer la edición de línea. No necesita preocuparse demasiado por eso.
\e[
se conoce como el CSI (introductor de secuencia de control). Verá que se usa en la mayoría de los códigos enumerados en la página de Wikipedia a la que se hace referencia. \e
significa el personaje de escape.
- Si mira en la tabla SGR en la página de Wikipedia, verá que el 1 es el número para texto brillante / en negrita, y 0 es para restablecer. Por lo tanto, se
CSI 1m
activa en negrita y CSI 0m
restablece la fuente para que el resto del texto sea normal.
Wikipedia tiene un completo lista de códigos de escape ANSI que puede usar si su emulador de terminal lo admite.
Editar
Para portabilidad y legibilidad, debe usar tput
códigos de escape en lugar de codificación rígida. El único inconveniente es que el tput
enfoque no funcionará con terminales que admitan códigos ANSI pero que tengan bases de datos terminfo rotas o faltantes, pero en ese caso el terminal roto es un problema mayor ya que muchas de las aplicaciones de consola que dependen de terminfo pueden no funcionar correctamente.
Aquí hay un ejemplo de lo que hago en mi .bashrc
:
# color names for readibility
reset=$(tput sgr0)
bold=$(tput bold)
black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
magenta=$(tput setaf 5)
cyan=$(tput setaf 6)
white=$(tput setaf 7)
user_color=$green
[ "$UID" -eq 0 ] && { user_color=$red; }
PS1="\[$reset\][\[$cyan\]\A\[$reset\]]\[$user_color\]\u@\h(\l)\
\[$white\]:\[$blue\]\W\[$reset\][\[$yellow\]\$?\[$reset\]]\[$white\]\
\\$\[$reset\] "
Así es como se vería una versión genérica mía. El 0
es el estado de salida del último comando.