Prompt Bash avançado

Estarei neste artigo aprofundando um pouco mais nas funcionalidades que o Bash Prompt pode nos oferecer.

[ Hits: 80.429 ]

Por: Eduardo Vieira Mendes em 23/02/2007


Colorindo o terminal



O código responsável pela colorização do prompt é o \[\033[ no início e \] no final.

Exemplo:

PS1="\[\033[31m\][\$(date +%H%M)][\[email protected]\h:\w]$ "

Veja que após o código da cor (neste caso o 31 para a cor vermelha é necessário que se coloque a letra "m" logo após o código da cor.

O que acontece neste exemplo acima é que quando se coloca a cor vermelha no prompt, qualquer texto que você digitar continuará em vermelho.

Vejamos outro exemplo:

PS1="\[\033[31m\][\$(date +%H:%M)][\[email protected]\h:\w]$\[\033[0m\] "

Veja que agora adicionamos mais um pedaço de código, desta vez no final da PS1.

Este código "\[\033[0m\]" faz com o a cor do texto no final do prompt volte ao normal.

Segue abaixo uma tabela de algumas cores disponíveis.

Preto        30
Vermelho     31
Verde        32
Marrom       33
Azul         34


Existem ainda várias outras de cores que não serão listadas aqui.

Você pode também usar fontes em negrito. Para isso adicione o caractere 1 antes ou após o código da cor separado por ; (ponto e vírgula).

Exemplo:

PS1="\[\033[1;34m\][\$(date +%H:%M)][\[email protected]\h:\w]$\[\033[0m\] "

Você pode também definir uma cor de fundo. Para isto adicione um número de cor de fundo antes do código de cor separado por ; (ponto e vírgula).

Exemplo:

PS1="\[\033[42;1;31m\][\$(date +%H:%M)][\[email protected]\h:\w]$\[\033[0m\] "

Estes código sempre seguem este formato:
 1 ou 0 - 1 liga o negrito e 0 desliga (o mesmo que não colocar nada)
 3# - Para escolher cor da fonte.	Ex. 31
 41 - Para escolher cor de fundo.	Ex. 41

Conclusão

Existem ainda muitas outras funcionalidades do bash que não foram descritas aqui, assim como checar o terminal em uso atualmente, contagem de processos sendo rodados a partir do terminal em uso, o tempo que o computador está ligado, o número total de processos sendo rodados na máquina, informações sobre baterias de laptop's, informações sobre chegada de e-mail, entre outras funções.

Mas deixo estas opções a cargo de vocês para poderem exercitar seus conhecimentos.

Espero ter sido útil.

Qualquer coisa me mande um email:
eduardovmendes (a) gmail ponto com

Página anterior    

Páginas do artigo
   1. Introdução
   2. Aparência do prompt
   3. Seqüência de caracteres de escape do Bash
   4. Caracteres não imprimíveis, aliases e funções
   5. Comandos externos
   6. Utilizando comandos externos no prompt
   7. Colorindo o terminal
Outros artigos deste autor

Utilizando o Protheus em estações Linux

Shorewall - Firewall passo a passo no Linux

Transforme seu Linux num Neo Geo

Bluefish - um poderoso editor para web designers

Utilizando o alien para a conversão de pacotes

Leitura recomendada

Configurando um servidor DNS e DHCP na rede

Asterisk Central IPBX - Debian

Controlando projetos com o Subversion

Instalando o Gaim no Slackware via source

Nagios - O seu gerenciador de redes

  
Comentários
[1] Comentário enviado por albertguedes em 23/02/2007 - 10:01h

Gosto muito quando alguém faz um artigo detalhando o uso de uma coisa que é tão essencial quanto o bash. Isto não só esclaresse para quem tá começando (ou começando no avançado se preferir) como também reaviva a memória. E só para acrescentar no ponto dos caracteres não imprimiveis, não usem os caracteres que não sejam alfanuméricos como colchetes e cifrão e etc para nomear arquivos, e muito menos espaço em branco, sempre usem underlines, "_", em vez de espaços em brancos e uma barra invertida, "\" , antes de caracteres não alfanuméricos se forem insistir em usá-los, mas não aconselho.
De resto, valeu pelo artigo Eduardo, parabens. : )

[2] Comentário enviado por heckjp em 23/02/2007 - 10:41h

parabens pelo artigo, alem de 1 reativação da memoria de quem ja conhece o bash, 1 otimo tutorial para quem é iniciante e nao conhece os poderes dessa ferramenta tao essencial aos usuarios linux...Parabens pelo artigo

[3] Comentário enviado por juninho (RH.com) em 23/02/2007 - 10:50h

Um artigo sobre o Bash, é sempre muito importante, principalmente um comentário com uma qualidade como este.

Parabéns!!!

[4] Comentário enviado por Century_Child em 23/02/2007 - 15:48h

Na mosca, era o que eu estava precisando.

Otimo artigo! Valeu! :)

[5] Comentário enviado por tenchi em 23/02/2007 - 22:08h

Acresentando ao artigo, aqui vão os outros prompts do bash:
PS2: é o segundo prompt do bash, que aparece, por exemplo, quando não conseguimos escrever algo em uma linha, e usamos o caractere de quebra (\), como em:
$ echo um\
> dois\
> três
$
PS3 : é o prompt do comando select. Normalmente '#? '.
PS4 : é o prompt que aparece quando estamos depurando um script. Normalmente é um sinal de mais (+). Para isso, execute:
$ bash -vc script.sh

Ah, e muito bom o set artigo.

[6] Comentário enviado por alexnuvix em 24/02/2007 - 00:30h

Gostei muito bom o artigo ,
Acho que os amigos ja o falaram o quanto o artigo ficou BOM.

Vlw

[7] Comentário enviado por tatototino em 24/02/2007 - 11:51h

Pensei que você iria abordar sobre teclas de atalho no bash como os atalhos ctrl+u e ctrl+l , mas mesmo assim o artigo está legal, principalmente para as pessoas que prentende usar os BSD's e o Solaris que no terminal costumam vir como padrão só com o caracter "#" ou "$".
Parabéns

[8] Comentário enviado por vodooo em 05/03/2007 - 08:30h

Olá galera.

Gostaria de agradecer a todos pelos elógios e pelas dicas adicionais!

Abração a todos e: VIVA O LINUX

[9] Comentário enviado por xerxeslins em 12/02/2008 - 15:26h

Olá,

Artigo excelente!
Estou fuçando artigos que falam de bash para poder tirar minha duvida.

quando eu abro um terminal que eu instalei, aparece assim: "bash-3.1#" mas se eu abrir o gnome-terminal aparece assim "[email protected]:"

como eu faço pra aparecer desse jeito ao invés de "bash-3.1#"?

minhas configurações estão em /etc/profile

Valeu

[10] Comentário enviado por ramontcruz em 30/03/2009 - 21:17h

Excelente!!
valeu muito ler seu artigo!
Brigadão!

[11] Comentário enviado por igor_rocha em 05/08/2012 - 00:40h


[9] Comentário enviado por xerxeslins em 12/02/2008 - 15:26h:

Olá,

Artigo excelente!
Estou fuçando artigos que falam de bash para poder tirar minha duvida.

quando eu abro um terminal que eu instalei, aparece assim: "bash-3.1#" mas se eu abrir o gnome-terminal aparece assim "[email protected]:"

como eu faço pra aparecer desse jeito ao invés de "bash-3.1#"?

minhas configurações estão em /etc/profile

Valeu



Amigo, Leia sobre a parte referente a variável PS1! deste belissimo artigo... :)

Abraço


Contribuir com comentário