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.
[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
[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
[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