Prompt Bash avançado

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

[ Hits: 80.435 ]

Por: Eduardo Vieira Mendes em 23/02/2007


Utilizando comandos externos no prompt



É possível ainda utilizar comandos externos diretamente no prompt.

Obviamente, você não deve usar comandos que gerem resultados longos ou que demorem muito tempo para serem executados, pois este será executado cada vez que o prompt aparecer, ou seja, quando se abre um terminal ou ao final de cada comando digitado.

[[email protected]:~]$ PS1="[\$(date +%H:%M)][\[email protected]\h:\w]\$ "
[14:48][[email protected]:~]$ ls
bin   mail
[14:48][[email protected]:~]$

Repare que é necessário a barra invertida antes do $ para que seja reconhecido como comando o que estiver entre parênteses.

Você pode também utilizar a funcionalidade de scripts no prompt.

Veja o exemplo abaixo:

#!/bin/bash
# lsbytes - mostra a quantidade de bytes da listagem de um diretório listing


tbytes=0

for bytes in $(ls -l | grep "^-" | awk '{ print $5 }') ; do
let tbytes=$tbytes+$bytes
done

tmeg=$(echo -e "scale=3 \n$Ttbytes/1048576 \nquit" | bc)
echo -n "$tmeg"

# Script baseado no script de Giles Orr

Salve o script com o nome de "lsbyte" na pasta /usr/bin.

Agora iremos usá-lo no prompt.

[14:50][[email protected]:~]$ PS1="[\[email protected]\h:\w (\$(lsbyte) Mb)]\$ "
[[email protected]:~ (0 Mb)]$ cd /bin
[[email protected]:/bin (4.498 Mb)]$

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

Utilizando o alien para a conversão de pacotes

Shorewall - Firewall passo a passo no Linux

Utilizando o Protheus em estações Linux

Trabalhando com RPM

Permissões e propriedades de arquivos

Leitura recomendada

Como instalar o software p2p XMule no Red Hat Linux 9

Instalando e usando o linphone no Slackware

Problemas com hdparm no Red Hat 8

KDE-Edu e Gcompris: Software Livre a serviço da educação

Os dados indecifráveis e o software livre

  
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