Se você estiver usando o sistema operacional Linux, isso significa que você usa a CLI na maioria das vezes. E trabalhar mais no terminal. Por padrão, a maioria dos sistemas operacionais Linux fornece o shell bash. Shell fornece a interface entre o usuário e o kernel e executa comandos. Neste artigo, veremos como personalizar o prompt do shell bash

Compreendendo o prompt BASH padrão

Antes de personalizar o prompt bash shell, primeiro entenda o prompt bash padrão. Este prompt padrão se parece com o seguinte:

username@hostname:~$

ou 

[username@hostaname ~]$

A primeira parte, isto é, a string antes do caractere @ do prompt do bash indica o nome de usuário do usuário atual. A última parte do prompt bash indica o nome do host do sistema. Em seguida, o sinal ~ indica o caminho atual do prompt. Se o sinal após o caractere: ou] for $, isso significa que a conta é padrão ou se este caractere for #, então a conta é a raiz

Compreendendo as diferentes partes do prompt do BASH

Para personalizar o prompt bash, primeiro, devemos entender como funciona o prompt bash. O Bash fornece a instrução Prompt. Existem quatro instruções de prompt do bash

  • PS1 - Esta é a instrução de prompt principal. Vamos personalizar este prompt.
  • PS2 - Esta é a instrução de prompt secundária. Basicamente, é usado quando o usuário fornece o comando longo separado por \ caracteres.
  • PS3 - Este prompt é usado para selecionar o comando.
  • PS4 - Este prompt é usado para executar um script de shell no modo de depuração.

Para ver o valor de sua instrução de prompt PS1 atual, você pode usar o seguinte comando:

echo $PS1

O ps1 contém a barra invertida e outros caracteres alfabéticos que têm um significado especial que está listado na seção PROMPTING da página do manual. Na saída acima, podemos ver que \ u \ he \ W são os caracteres de solicitação e @ e # são caracteres especiais.

Para personalizar o prompt do bash, trabalharemos com o prompt do PS1 e o prompt do PS2. Geralmente, o prompt do PS2 contém apenas um caractere>. Para visualizar o conteúdo do prompt PS2, use o comando echo:

echo $PS2

E o $PS3 ficará em branco e o PS4 conterá o caractere +

Personalize o Bash Prompt no Linux

O prompt bash pode ser personalizado a partir do arquivo ~ / .bashrc. Este arquivo contém o prompt Statement. Este arquivo está presente no diretório inicial do usuário.

~/.bashrc

Antes de editar este arquivo, faça o backup do arquivo ~ / .bashrc. Use o seguinte comando para fazer um backup do arquivo ~ / .bashrc

cp ~/.bashrc  ~/.bashrc.bak

Altere o Bash Prompt no Linux permanentemente

Para alterar o prompt do bash permanentemente, podemos editar o arquivo ~ / .bashrc e alterar os valores do PS1. Para editar este arquivo você pode usar qualquer editor, mas neste tutorial, vamos com o editor nano, porque é fácil de usar. Agora, para abrir o arquivo ~ / .bashrc, use o seguinte comando:

nano ~/.bashrc

Então você verá que há uma variável PS1.

Você pode editar o valor desta variável para alterar seu prompt. Por enquanto, vamos alterar o valor desse prompt para bashprompt>. Em seguida, salve o arquivo usando ctrl + se feche o arquivo usando ctrl + x. Em seguida, use o seguinte comando para ver as mudanças no prompt

source ~/.bashrc

Agora temos mudanças em nosso prompt bash permanentemente.

Crie uma mudança temporária no prompt do BASH

Podemos mudar nosso prompt bash temporariamente usando o comando export, este prompt funcionará para a sessão atual. Para alterar o prompt do shell bash temporário, use o seguinte comando:

export PS1="bashprompt>"

Ou você pode simplesmente executar para inserir a variável PS1 com valor como um comando:

 Modifique a parte “username @ hostname” no prompt do Bash

A maioria das distribuições Linux contém o nome de usuário @ nome do host como um prompt bash. Podemos alterá-lo para o que quisermos. Temos que apenas modificar o valor da variável PS1. Nas duas seções acima, vimos como modificar o valor dos personagens PS1 permanente e temporariamente. Altere o valor de PS1 de acordo com sua necessidade. Portanto, agora, para alterar o nome de usuário @ nome do host para “myprompt @ linux>”, podemos definir o valor de PS1 para 

export PS1="myprompt@linux> "

Agora vamos ver como adicionar emojis no prompt do bash. Para adicionar os emojis ao prompt, primeiro, certifique-se de ter instalado qualquer fonte de emoji no sistema. Para usar o emoji no prompt, basta colocar o emoji na variável PS1. Aqui está um exemplo:

 PS1="???? ~ "

Para mostrar a versão do shell bash no prompt, coloque o caractere de aviso \ v na variável PS1:

PS1="Bash \v>"

E para mostrar a versão atual do bash com o nível do patch, use o caractere de aviso \ V:

 PS1="Bash \V>"

Personalizando o Formato PS1

Para personalizar o prompt PS1, precisamos editar o conteúdo do prompt PS1. O PS1 contém alguns caracteres seguidos de caracteres de barra invertida. A seguir estão os mesmos caracteres que são escritos no prompt PS1:

  • \ u: este caractere indica o nome de usuário do usuário atual.
  • \ h: este caractere indica o nome do host até o primeiro '. 'Personagem no nome de domínio totalmente qualificado
  • \ W: este caractere mostra o caminho base do diretório de trabalho atual. Para o diretório inicial, o valor será o caractere til (~).
  • \ $: Este caractere é usado para separar o comando e o prompt. Se a conta for padrão, este campo contém o caractere $, ou se a conta for root, este campo contém o caractere #.

Agora vamos adicionar algumas outras opções no PS1 e verificar como nosso prompt se parece com o \! O caractere mostra o número dos comandos atuais e o caractere \ H mostra o nome do host do domínio completo e totalmente qualificado em vez de mostrar até '. ' Personagem. Aqui está o prompt agora:

PS1="[\u@\H \W \!]$"

Nas próximas seções, vamos explorar mais opções de prompt ou personagens.

Opções personalizadas populares para requests BASH

Agora vamos ver como podemos personalizar o prompt bash usando as opções fornecidas pelo shell bash para o prompt. Antes de adicionar qualquer opção ao prompt, use o caractere \ antes das opções.

Exibir nome de usuário e nome de domínio

O prompt Bash oferece duas opções, usando-as podemos mostrar o nome do host e o nome do usuário no prompt. 

  • Para mostrar o nome de usuário no prompt, use o caractere u seguido pelo caractere \.
  • Para mostrar o nome do host no prompt, use o caractere h no PS1.

Aqui está um exemplo:

export PS1="\u \h >"

Adicione Caracteres especiais

Podemos adicionar o caractere especial no prompt do bash. Basta organizá-los na ordem em que deseja personalizar o prompt. Aqui está um exemplo:

export PS1="\u@\h> "

Você deve sempre usar o caractere especial no final do prompt, o que será útil para separar o comando e o prompt.

Adicionar data e hora ao prompt do BASH

Agora vamos ver como podemos adicionar o tempo ao prompt do bash. A seguir estão as opções que serão usadas para exibir a data e a hora no prompt

  • d - Esta opção mostrará a data no formato “Dia da semana, mês, data”

              

  • t - Esta opção mostrará a hora atual no formato HH: MM: SS de 24 horas

  • T - Esta opção mostrará a hora atual no formato HH: MM: SS de 12 horas

  • A - Esta opção mostrará a hora atual no formato HH: MM de 24 horas

Ocultar todas as informações no prompt do BASH

Para evitar que o nome de usuário e o nome do host sejam exibidos no prompt, não use os caracteres he u na variável PS1. Basta usar o caractere W para exibir o caminho do diretório atual.

Diferencie o usuário root do usuário normal

O prompt bash é diferenciado usando os caracteres $e # no final do prompt. O caractere $é usado para o usuário padrão e o caractere # é usado para o usuário root.

export PS1="\u@\H \W:\$ "

Para saber todas as opções de cores, você lê a seção PROMPTING da página de manual do bash. Usando o comando man.

comando tput

tput é um comando que fornece as informações dependentes do terminal para o comando shell .tput que consulta o termo banco de dados de informações para obter as informações. Agora vamos ver como podemos usar o comando tput para alterar a cor do prompt. Agora vamos ver como alterar a cor do plano de fundo e do primeiro plano do prompt.

export PS1 = ”\ [$(tput setaf 1) \] \ [$(tput setab 7) \] \ u @ \ h: \ w $\ [$(tput sgr0) \]”

A seguir estão as opções que podem ser usadas com o comando tput:

  • tput bold - Para aplicar o efeito bold
  • tput rev - Para exibir a cor inversa
  • tput sgr0 - Para redefinir tudo
  • tput setaf {code} - Para definir a cor do primeiro plano. Consulte a tabela abaixo para saber o valor de {code}
  • tput setab {code} - Para definir a cor de fundo, consulte a tabela abaixo para saber o valor de {code}

Códigos de cores usados ​​com o comando tput:

Código de cores}Cor
0Preto
1vermelho
2Verde
3Amarelo
4Azul
5Megenta
6Cyab
7Branco

Como alterar a cor do prompt do BASH

Podemos mudar a cor do prompt do bash. Aqui está um exemplo:

export PS1="\e[0;32m[\u@\h \W]\$ \e[0m"

Agora vamos ver como podemos mudar a cor do prompt bash:

  • \ e [- Esta string diz ao prompt do bash para aplicar a cor do próximo caractere.
  • 0; 32m - Esta string representa as cores. O número antes do; representam o tipo de letra. E o número após o; representam o código de cores.
  • \ e [0m - esta string dirá ao prompt do bash para aplicar a cor ao caractere anterior.

A seguir estão os valores para o tipo de letra:

  • 0 - normal
  • 1 - Negrito
  • 2 - Escuro
  • 4 - Sublinhado

A seguir estão os valores para os códigos de cores:

  • 30 - Preto
  • 31 - Vermelho
  • 32 - Verde
  • 33 - marrom
  • 34 - Azul
  • 35 - roxo
  • 36 - ciano
  • 37 - cinza claro

Você pode criar os temas usando diferentes combinações das cores acima.

Como redefinir as alterações do BASH para as configurações padrão

Se você quiser que o shell volte como está, podemos fazer isso. No início deste artigo, criamos o arquivo de backup, o arquivo ~ / .bashrc. Agora, para recuperar nosso prompt bash original, podemos usar esse arquivo. Use o seguinte comando:

cat ~/.bashrc.bak > ~/.bashrc

Para saber mais sobre o prompt do bash, leia a página de manual do bash.

man bash