Como mudar o prompt de bash

Como mudar o prompt de bash

O "prompt de bash" na interface da linha de comando é aquele pouco de texto que precede seus comandos. Geralmente é o nome de usuário seguido pelo nome do host na maioria dos sistemas, para que a sintaxe possa parecer algo como usuário@linuxconfig $ por exemplo. Basta dizer que a linha de comando BASH padrão prompt em muitos sistemas Linux é bastante mínima.

Como veremos neste artigo, ele pode ser facilmente alterado modificando a festa Ps n variáveis, e podemos incluir informações como tempo de exibição, carga, número de usuários usando o sistema, tempo de atividade e muito mais. Neste tutorial, você verá como enfeitar seu prompt de bash com cores e informações adicionais em um sistema Linux.

Neste tutorial, você aprenderá:

  • O que são variáveis ​​de shell PS1 e PS2
  • Como criar prompts de shell personalizados
  • Quais são os personagens que podemos usar para personalizar um prompt de shell
Como mudar o prompt de bash Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Qualquer distro Linux
Programas Bash Shell
Outro Conhecimento mínimo da casca de festa. Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Bash Variáveis ​​rápidas




Assim como tudo o mais em um sistema Linux, o mesmo pode ser personalizado também pode ser personalizado. Podemos realizar a tarefa alterando os valores de Bash Ps1, Ps2, Ps3, e Ps4 variáveis. Para manter as coisas simples, este artigo estará preocupado apenas com os dois primeiros. Use o eco comando para ver seus valores atuais:
$ echo "variável Bash PS1:" $ ps1 $ echo "Bash PS2 Variável:" $ ps2 
Proms

Variável de prompt do Bash PS1

Ps1 é a principal variável de prompt. O nosso é atualmente:

\ [\ e] 0; \ u@\ h: \ w \ a \] $ debian_chroot:+($ debian_chroot) \ [\ 033 [01; 32m \] \ u@\ h \ [\ 033 [00M \]: \ [\ 033 [01; 34m \] \ w \ [\ 033 [00m \] \ $ 

Isso parece um pouco confuso, porque muito disso costumava definir as cores que você vê na captura de tela acima. O ponto de partida aqui é o uso dos personagens especiais da festa \você (do utilizador), \ h (nome do host) e \c (Diretório de trabalho atual). Esses tipos de caracteres são o que nos permite exibir informações personalizadas que mudarão com as circunstâncias no prompt de bash. Mais deles serão cobertos abaixo.

Variável de prompt de Bash PS2

Ps2 variável de shell bash é o aviso secundário e geralmente é definido como >. Este prompt é exibido se o shell aguardar alguma entrada do usuário, por exemplo, se você estiver usando aspas e esqueça de fechá -las.

$ echo "texto com citações ausentes> 
Diagrama de prompt linux bash

BASH PROMPRO DE PROMPENTOS ESPECIAIS

O prompt de bash pode ser personalizado usando caracteres especiais. Aqui está uma rápida visão geral dos personagens mais usados ​​e seu significado:



BASH PROMPRO DE PROMPENTOS ESPECIAIS
Bash personagem especial Explicação de personagens especiais do Bash Bash personagem especial Explicação de personagens especiais do Bash
\a um personagem ASCII Bell (07) \ d a data do formato "Data do mês da semana" (e.g., "Ter 26 de maio")
\] encerrar uma sequência de caracteres não impressos \ e Um personagem ASCII Escape (033)
\ h o nome do host até o primeiro '.' \ H o nome do host
\ j o número de empregos atualmente gerenciados pelo shell \eu O nome da base do nome do dispositivo de terminal da concha
\ n nova linha \ r Retorno do carro
\ s o nome do shell, o nome da base de US $ 0 (a parte seguindo o final
golpear)
\ t O horário atual em HH de 24 horas: MM: formato SS
\ T O horário atual em 12 horas HH: MM: formato SS \@ O horário atual em formato AM/PM de 12 horas
\A O horário atual em formato HH: mm de 24 horas \você o nome de usuário do usuário atual
\ v a versão do Bash (e.g., 2.00) \ V O lançamento de Bash, versão + patchelvel (e.g., 2.00.0)
\c o diretório de trabalho atual \C o nome da base do diretório de trabalho atual
\! o número da história deste comando \# o número de comando deste comando
\ $ Se o UID efetivo for 0, um #, caso contrário, um $ \ nnn o personagem correspondente ao número octal nnn
\\ uma barra de barriga \ [[ iniciar uma sequência de caracteres não impressos, que podem ser usados ​​para incorporar um
Sequência de controle de terminal no prompt
\ D formato O formato é passado para o strftime (3) e o resultado é inserido
na string prompt; Um formato vazio resulta em um tempo específico para localidade
representação. Os aparelhos são necessários

Bash Personalização pronta

Depois que um usuário faz login no sistema, as variáveis ​​do ambiente do usuário são inicializadas a partir de vários arquivos:

  • /etc/perfil ou /etc/Bashrc (No âmbito do sistema)
  • ~/.Bash_profile , ~/.Bash_login , ~/.perfil , ~/.Bashrc ou ~/.Bash_logout (específico do usuário)
VOCÊ SABIA?
É importante saber que todas as variáveis ​​do ambiente do usuário têm um tempo de vida igual à sessão do terminal. Quando a sessão do terminal é fechada, as variáveis ​​do usuário, incluindo variáveis ​​de shell bash definidas durante uma sessão do terminal, são esvaziadas e redefinidas quando uma nova sessão de terminal é criada.

Nas seções abaixo, definiremos duas variáveis ​​para provar esta afirmação.

Personalizando as instruções variáveis ​​de variável BASH

Vamos agora editar o ~/.Bashrc arquivo de configuração para exibir um prompt de bash personalizado. Como mencionado acima, precisaremos fazer o logout de nossa sessão atual do terminal e fazer o login para perceber as mudanças que entram em vigor ou apenas usarem o fonte comando como mostrado abaixo.

  1. Use Nano ou algum outro editor de texto para editar o ~/.Bashrc arquivo. Alternativamente, nós podemos eco as novas configurações de prompt do shell no arquivo.
    $ echo "ps1 = 'meu novo Bash Prompt@\\ t: \\ w \\ $'" >> ~////////////////////.Bashrc 



  2. Fazer as alterações entrarem em vigor com o seguinte fonte comando.
    $ fonte ~//.Bashrc 
  3. Agora você deve ver o novo prompt:
    Meu novo prompt de bash@16: 42: 58: ~ $ 
    Prompt de basquete personalizado no Linux

Alterar as cores prontamente em primeiro plano e fundo

Veja a tabela abaixo para obter várias cores usadas para alterar o Bash Shell Prompt e primeiro plano:

Cor Número de primeiro plano Número de segundo plano
Preto 30 40
Vermelho 31 41
Verde 32 42
Marrom 33 43
Azul 34 44
Roxo 35 45
Ciano 36 46
Cinza claro 37 47

Para alterar a cor do seu prompt de bash, a seguinte sintaxe é usada:

exportação ps1 = '\ [\ e [CÓDIGO DE CORESm \] [Exemplo] \ [\ e [0m \] $ ' 
  • \ e [ = Marca o início de um mod de cor
  • Colm = O número de cores desejado, seguido de m
  • \ e [0m = Marca o fim de um mod de cor

Alguns exemplos, usando esta sintaxe, podem ser vistos abaixo.



Bash Exemplos de prontuários

  1. Um prompt de bash vermelho:
    exportar ps1 = "\ e [31m [exemplo] \ e [0m $" 
  2. Um prompt roxo de bash:
    exportar ps1 = "\ e [35m [exemplo] \ e [0m $" 
    Vários exemplos de prontuoso bash no Linux. Adapte -se conforme necessário para atender às suas necessidades
  3. Exiba a hora atual no prompt de bash:
    exportar ps1 = "\ u@\ h \ t: \ $" 
  4. Este prompt de bash exibe o número atual de arquivos e diretórios no diretório atual.
    exportar ps1 = "\ u@\ h [\ $ (ls | wc -l)]: \ $" 

Pensamentos finais




Neste tutorial, vimos como alterar o prompt de bash na interface da linha de comando em um sistema Linux. Isso não apenas pode fazer com que nosso terminal de linha de comando pareça muito melhor, mas também podemos usar os personagens especiais de Bash para exibir muitas informações úteis. Sinta -se à vontade para adaptar alguns de nossos exemplos às suas próprias necessidades, para que você possa obter uma boa aparência, com algumas informações úteis ao mesmo tempo.

Tutoriais do Linux relacionados:

  • Como usar o comando de tempo de uptime no Linux
  • Com que frequência você tem que reiniciar seu servidor Linux?
  • Coisas para instalar no Ubuntu 20.04
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Mastering Bash Script Loops
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Sistema Linux Hung? Como escapar para a linha de comando e…
  • Comandos básicos do Linux
  • Como alterar o nome do host no Linux