Como personalizar cores e conteúdo Bash no prompt de terminal do Linux
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 |
---|---|
0 | Preto |
1 | vermelho |
2 | Verde |
3 | Amarelo |
4 | Azul |
5 | Megenta |
6 | Cyab |
7 | Branco |
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
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva