Prompt Bash avançado

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

[ Hits: 83.174 ]

Por: Eduardo Vieira Mendes em 23/02/2007


Seqüência de caracteres de escape do Bash



Existem vários caracteres especiais que podemos adicionar ao prompt. Segue a lista de caracteres retirados da man page do Bash 2.04.

\a o caractere ASCII para o sino do sistema (07)
\d a data no formato "Dia da semana Mês Dia" (ex., "Qui Jan 18")
\e o caractere ASCII esc (033)
\h o hostname da máquina antes do 1º "."
\H o hostname da máquina
\j o número de processos atualmente gerenciados pelo shell
\l o nome do dispositivo do terminal
\n nova linha
\r retorno do cursor
\s o nome do shell
\t data atual no formato de 24-horas HH:MM:SS
\T data atual no formato de 12-horas HH:MM:SS
\@ data atual no formato de 12-hour am/pm
\u o nome do usuário atual
\v a versão do bash (ex., 2.02)
\V a liberação, versão + patchlevel (ex., 2.00.0)
\w o diretório atual
\W o nome base do diretório corrente
\! o número no histórico do comando atual
\# o número do comando desde que aberto o terminal
\$ se o usuário tiver UID igual a 0, ou seja, o usuário atual é o root, aparecerá o caractere #, ou então $ para todos os outros usuários.
\nnn o caractere correspondente ao número octal nnn
\ uma barra invertida
\[ inicio de uma seqüência de caracteres que não serão mostrados na tela. ex. colocar cor nas letras)
\] fim de uma seqüência de caracteres que não serão mostrados na tela.


Os caracteres \j e \l só foram inseridos a partir da versão 2.03 do Bash.

Continuando com os exemplos:

[vodooo@linux]$ PS1="\u@\h \W> "
vodooo@linux> ls
bin   mail
vodooo@linux>

Este é similar ao padrão da maioria das distribuições:

vodooo@linux> PS1="[\t][\u@\h:\w]\$ "
[13:53:10][vodooo@linux:~]$ ls
bin   mail
[13:53:15][vodooo@linux:~]$

Setando a variável PS1 permanentemente

Você notará que ao fechar o terminal ou após uma reinicialização do sistema o seu prompt voltará ao padrão da distribuição.

Isso acontece por que os arquivos de inicialização do Linux setam essa variável na inicialização, então o que temos que fazer e alterar esse arquivo para deixarmos essa variável como queremos.

Mas este arquivo nem sempre é o mesmo de uma distribuição para outra. Os arquivos mais comuns para que seja feita esta alteração são: /etc/profile, /etc/bashrc. ~/.bash_profile e /.bashrc.

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

Trabalhando com RPM

Permissões e propriedades de arquivos

Transforme seu Linux num Neo Geo

Utilizando o Protheus em estações Linux

Shorewall - Firewall passo a passo no Linux

Leitura recomendada

Macromedia Studio 8 (Dreamweaver + Flash + Fireworks) no Debian usando o WINE

Instalando o navegador Opera no Arch Linux

Instalação do Debian 3.1r2 Sarge como servidor

Compiz e as estações do ano

Criando um pacote DEB manualmente

  
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 "xxl@darkstar:"

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 "xxl@darkstar:"

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

[12] Comentário enviado por allb_marcos em 28/09/2021 - 16:39h

Excelente Tarde!
Não sei nada de Linux mas, só o que li neste artigo me ajudou muito, e por hora já resolvi uma solicitação de Cliente.Muito Bom.

Agradecido e Congratulações pelo post.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts