Como personalizar o prompt do shell bash

Este artigo contém informações de como personalizar (alterar) o prompt do shell bash no sistema operacional Debian GNU/Linux versão 5.0.3, codinome Lenny. O shell bash é um software que tem a função de interpretar todos os comandos digitados pelo usuário (sejam eles digitados diretamente no prompt de comando ou através de um arquivo).

[ Hits: 56.703 ]

Por: Eder S. G. em 08/10/2009 | Blog: http://edersg.wordpress.com


Personalizando o prompt do shell bash



Por favor, efetue logon com o seu usuário.

Para visualizar o conteúdo da variável PS1, digite o comando:

echo $PS1

Será retornado a seguinte linha:

${debian_chroot:+($debian_chroot)}\u@\h:\w\$

Antes de personalizar o prompt do shell bash, é aconselhável conhecer o significado de cada um dos caracteres especiais:
  • \u : exibe o nome do usuário, isto é, o login.
  • \h : exibe o nome da máquina, ou seja, o hostname.
  • \W : exibe o nome do diretório que você se encontra.
  • \w : exibe o caminho completo do diretório onde você se encontra.
  • \$ : exibe o caractere '$' caso você esteja utilizando o seu usuário
  • ou o exibe o caractere '#' caso você esteja utilizando o usuário root.
  • \d : exibe a data atual.
  • \t : exibe a hora no formato de 24 horas.
  • \! : exibe o número de comandos que você já digitou.
  • \# : exibe o número do comando atual.

Configurei o prompt do shell bash com o seguinte formato/estrutura:

[ nome_do_usuário @ nome_da_máquina nome_do_diretório_atual ] $

Para isso digite o comando:

PS1='[\u@\h \W]\$ '

Você também pode utilizar uma determinada cor para o nome do usuário (login), outra cor para o nome da máquina (hostname) e mais uma outra cor para o nome do diretório atual. Para isso basta configurar os códigos das cores na variável 'PS1'. Veja:

    COR           FONTE NORMAL      FONTE EM NEGRITO
    ---           ------------      ----------------
    preto         \e[0;30m\]        \e[1;30m\]
    vermelho      \e[0;31m\]        \e[1;31m\]
    verde         \e[0;32m\]        \e[1;32m\]
    amarelo       \e[0;33m\]        \e[1;33m\]
    azul          \e[0;34m\]        \e[1;34m\]
    magenta       \e[0;35m\]        \e[1;35m\]
    ciano         \e[0;36m\]        \e[1;36m\]
    branco        \e[0;37m\]        \e[1;37m\]
    cinza         \e[0;38m\]        \e[1;38m\]

OBS: O código \e[0m\] (fonte normal, cor padrão) corresponde a cor padrão do prompt do shell bash.

Como exemplo, utilizei as seguintes cores:
  • nome_do_usuário : azul em negrito
  • nome_da_máquina : amarelo normal
  • nome_do_diretório_atual : vermelho em negrito

Para isso digite o comando:

PS1='[\e[1;34m\]\u@\e[0;33m\]\h \e[1;31m\]\W\e[0m\]]\$ '

Para que o prompt esteja neste formato/estrutura nas próximas vezes que você efetuar logon com o seu usuário, edite o arquivo "/home/seu_usuário/.bashrc" e acrescente em seu final:

# Editado por DIGITE_SEU_NOME em 14/11/2008
PS1='[\e[1;34m\]\u@\e[0;33m\]\h \e[1;31m\]\W\e[0m\]]\$ '

Para testar o novo prompt do shell bash basta efetuar logon com o seu usuário.

Página anterior     Próxima página

Páginas do artigo
   1. Prefácio
   2. Personalizando o prompt do shell bash
   3. Bibliografia e sobre o autor
Outros artigos deste autor

Como compilar o kernel Linux 2.6.31.1

Como instalar o compilador Free Pascal

Como instalar o software p2p XMule no Red Hat Linux 9

Como instalar/configurar e rodar aplicativos Java sob o Red Hat Linux 9

Guia: Pós-instalação do Debian Linux 4.0 Etch/Stable

Leitura recomendada

MSN-PROXY no CentOS 5.5 64 bits

Impressoras/scanners e multifuncionais Insigne GNU/Linux

Compiz Fusion no Gutsy

Tutorial de Instalação do Módulo Gerente em Servidor FreeBSD

Minecraft 1.8.1 - Arquivo server.properties

  
Comentários
[1] Comentário enviado por nettask em 08/10/2009 - 09:27h

Caro ederjordan
Parabéns pela dica. Gostaria de complementa-la:
Para que essa alteração seja automática para novos usuários (apos # adduser) [usuario], copie o arquivo "/home/usuário/.bashrc" para /etc/skell.
Pronto... agora, toda vez que se criar um usuário, o arquivo .bashrc modificado será copiado para a nova pasta /home/usuario.

Até a próxima

[2] Comentário enviado por magnolinux em 08/10/2009 - 09:46h

Ta mais para dica do que propriamente artigo.

[3] Comentário enviado por hugobcar em 08/10/2009 - 09:59h

Ta mais para dica do que propriamente artigo. [x2]

[4] Comentário enviado por removido em 08/10/2009 - 20:35h

Interessante seu Artigo, parabens.

[5] Comentário enviado por pop_lamen em 09/10/2009 - 12:42h

Desculpe,
Ta mais para dica do que propriamente artigo. [x3]

[6] Comentário enviado por edersg em 10/10/2009 - 21:51h

Boa noite a todos da comunidade Viva o Linux!

Como vocês estão? Espero que estejam a cada dia melhor!

Muito obrigado pelos sugestões, dicas e pelas críticas construtivas.

No mais, tenham todos um excelente domingo!

FÉ, SAÚDE e PAZ!

Atenciosamente,

Eder Jordan.

[7] Comentário enviado por adrianoc em 13/10/2009 - 11:19h

Gostei do resumo, acho que todos artigos deveriam ter algo assim.

Parabéns.

[8] Comentário enviado por jlvidals em 15/10/2009 - 21:41h

Que legal! O antigo comando ANSI reeditado com os caracteres de sequencias de ESCAPE! Show!

[9] Comentário enviado por Carlos_Cunha em 07/01/2013 - 23:17h

Obrigado otimo dicas, era bem o que eu estava procurando a minha ficou assim:

PS1='${debian_chroot:+($debian_chroot)}\[\e[1;32m\]\u@\[\e[1;34m\]\h: \[\e[0;37m\]\w] \$'

Nome do user: verde
Hostname: Azul
Diretorio atual e comando em Branco

Abraço


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts