Encontre onde PS1
está o seu conjunto .bashrc
e insira '\[\e[1m\]'
no início e \[\e[0m\]
no final.
\[
e \]
são necessários para que o shell saiba que a bagunça dentro ocupa 0 espaço na tela, o que evita algum comportamento errado durante a edição de linha. Você não precisa se preocupar muito com isso.
\e[
é conhecido como CSI (introdutor da sequência de controle). Você o verá usado na maioria dos códigos listados na página referenciada da Wikipedia. \e
significa o caractere de escape.
- Se você olhar na tabela SGR na página da Wikipedia, verá 1 como número para texto claro / negrito e 0 como redefinir. Assim,
CSI 1m
ativa o negrito e CSI 0m
redefine a fonte para que o restante do texto seja normal.
A Wikipedia possui uma lista completa de códigos de escape ANSI que você pode usar se o seu emulador de terminal suportar.
Editar
Para portabilidade e legibilidade, você deve usar em tput
vez de códigos de escape codificados. A única desvantagem é que a tput
abordagem não funciona com terminais que suportam códigos ANSI, mas possuem bancos de dados terminfo quebrados ou ausentes, mas nesse caso o terminfo quebrado é um problema maior, já que muitos dos aplicativos de console que dependem do terminfo podem não funcionar corretamente.
Aqui está um exemplo do que faço no meu .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\] "
Aqui está a aparência de uma versão genérica minha. O 0
é o status de saída do último comando.