Prompt Bash avançado

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

[ Hits: 80.434 ]

Por: Eduardo Vieira Mendes em 23/02/2007


Comandos externos



PROMPT_COMMAND

O Bash provê uma variável de ambiente chamada PROMPT_COMMAND. O conteúdo desta variável é executado toda vez que o prompt é mostrado na tela, ou seja, logo após a abertura do terminal ou após cada comando executado.

[[email protected]:~] PROMPT_COMMAND="date +%H:%M"
14:21
[[email protected]:~] ls
bin   mail
14:22
[[email protected]:~]

O que acontece no exemplo acima é que logo após cada comando, o conteúdo da variável PROMPT_COMMAND é executado, neste caso o comando "date +%H:%M", que mostra a hora e os minutos atuais separado pelo caractere :.

Repare que este comando não faz mais parte do prompt, pois o comando é executado após o prompt ser mostrado, mas isso pode ser resolvido adicionando-se o comando "echo -n", que faz com o a hora seja exibida na mesma linha do prompt.

[[email protected]:~] PROMPT_COMMAND="echo -n [$(date +%H:%M)]"
[14:22][[email protected]:~]$
[14:22][[email protected]:~]$ ls
bin   mail
[14:22][[email protected]:~]$ unset PROMPT_COMMAND
[[email protected]:~]

Usei o comando unset PROMPT_COMMAND para limpar a variável.

Página anterior     Próxima página

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

Permissões e propriedades de arquivos

Transforme seu Linux num Neo Geo

Utilizando o alien para a conversão de pacotes

Utilizando o Protheus em estações Linux

Shorewall - Firewall passo a passo no Linux

Leitura recomendada

Encarando o DGuitar

Ubuntu Control Center

Como Rodar o Mplayer no Linux

Configurando uma OpenVPN com o BRMA

Livestation - Assista TV no seu GNU/Linux

  
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