Exemplos de personalização do Bash PS1

Exemplos de personalização do Bash PS1
A variável shell especial é usada para controlar o prompt de bash. Essas variáveis ​​de shell são PS1, PS2, PS3 e PS4. Cada variável é usada para fins específicos. O valor dessas variáveis ​​é executado como um comando antes de exibir o prompt primário. O Ps1 A variável contém o valor do prompt padrão. É usado para alterar a aparência e o ambiente do prompt de comando do shell. Diferentes exemplos de usar o Ps1 variável foi demonstrada neste tutorial.

Sequências de fuga comumente usadas:

O prompt de comando primário PS1 é exibido quando o shell interativo é executado. A string prompt pode ser personalizada usando diferentes tipos de caracteres especiais escassos. Os caracteres mais usados ​​com barra de barragem são fornecidos abaixo.

Caráter escapado da reação Propósito
\você É usado para exibir o nome de usuário atual.
\ h É usado com o nome do nome do computador.
\ H É usado com o nome do nome do host.
\ d É usado para exibir a data com o nome da semana, o nome do mês e a data.
\c É usado para exibir o caminho completo do diretório de trabalho atual.
\C É usado para exibir o último fragmento do diretório de trabalho atual.
\ t É usado para exibir o horário atual em formato 24 horas.
\ T É usado para exibir o horário atual em formato de 12 horas.
\@ É usado para exibir o horário atual em formato de 12 horas com AM/PM.
\ n Jit é usado para adicionar a nova linha.
\ e É usado para adicionar um personagem de escape ascii.
\ v É usado para exibir a versão do BASH.
Jill Smith
\ V É usado para exibir a versão do Bash com o nível de patch.

Verifique o valor padrão do PS1

O valor padrão do PS1 contém três informações. O nome de usuário, o nome do host e o caminho completo do diretório de trabalho atual. Execute o seguinte comando para exibir os valores padrão do PS1.

$ eco $ ps1

Saída:

Exemplo 1: exiba a data e a hora

Você pode adicionar os valores de data e hora com o comando usando caracteres \ d e \ t escapados. Execute o seguinte comando para definir os valores do PS1 para exibir os valores de nome de usuário, data e hora no prompt de comando. Aqui o exportar A palavra -chave é usada para alterar o prompt de comando atual temporariamente.

$ export ps1 = "[\ u@\ d \ t] $"

Saída:

Se você reabrir o terminal, o prompt de comando padrão aparecerá. Para salvar o valor do PS1 permanentemente, abra o ~//.Arquivo Bashrc usando qualquer editor de texto. Aqui, o Nano Editor foi usado.

$ sudo nano ~//.Bashrc

Adicione a seguinte linha no final do arquivo, salve o arquivo e saia do editor.

Ps1 = "[\ u@\ d \ t] $"

Execute o seguinte comando Atualize o prompt de comando atual para adicionar a linha no ~//.Arquivo Bashrc.

$ fonte ~//.Bashrc

Saída:

Execute o seguinte comando para exibir o prompt de comando em várias linhas usando o personagem '\ n' escapado. É útil para um longo prompt de comando.

$ export ps1 = "[\ d] \ n \ u@\ h: $"

Exemplo 2: Altere a cor de fundo e primeiro plano

Valores de cores diferentes podem ser usados ​​para definir cores diferentes para o fundo e primeiro plano do prompt de comando. A lista do plano de fundo e os nomes de cores em primeiro plano com valores é dada abaixo.

Cores de fundo Cores de primeiro plano
Preto = 40 Preto = 30
Vermelho = 41 Vermelho = 31
Verde = 42 Verde = 32
Amarelo = 43 Amarelo = 33
Azul = 44 Azul = 34
Roxo = 45 Roxo = 35
Ciano = 46 Ciano = 36
Branco = 47 Branco = 37

Execute o seguinte comando para alterar a cor de fundo do prompt de comando para roxo. Aqui, '\ e' que escapou com o valor de cor 45 foi usado para definir o fundo roxo. O personagem 'M' tem sido usado para definir a sequência.

$ export ps1 = "\ e [45m \ u@\ h: \ w $ \ e [m"

Saída:

Execute o seguinte comando para alterar a cor do primeiro plano do prompt de comando para branco. Aqui, o caráter escapado com o valor de cor 37 foi usado para definir o primeiro plano branco. Como o comando anterior, o personagem 'M' foi usado para definir a sequência.

$ export ps1 = "\ e [0; 37m \ u@\ h: \ w $ \ e [m"

Saída:

Exemplo 3: Exiba emoji no prompt de comando usando o script

O emoji pode ser adicionado ao prompt de comando de maneiras diferentes. O valor de bytes do personagem emoji usou neste exemplo. Execute o seguinte comando do terminal para exibir o emoji no prompt de comando com base no valor de status de saída.

$ export ps1 = '\ u ($ (se [[$? == 1]]; então printf "\ xf0 \ x9f \ x99 \ x8d"; else printf "\ xf0 \ x9f \ x99 \ x8e"; fi)) \ [\ e [0m \]: \ w $ '

Saída:

Exemplo-4: Exibir emoji no prompt de comando usando o script

A maneira de gerar emoji é executando um arquivo Bash, como mostrado neste exemplo. Crie um arquivo bash com o seguinte script. O script verificará o tipo do usuário atualmente conectado. Se o usuário atual for o usuário normal, ele exibirá um emoji com uma face inicial e se o usuário atual for o usuário root, ele exibirá um emoji com um rosto de óculos de sol.

do utilizador.sh

#!/BIN/BASH
#Verifique o usuário
se [$ uid = 0]; então
#Set emoji para raiz
exportar ps1 = '😎️ ~: $'
outro
#Set emoji para usuário geral
exportar ps1 = '🤩️ ~: $'
fi

Execute o seguinte comando para executar o script acima para alterar o prompt de comando do shell atual.

$ fonte de origem.sh

Em seguida, execute os seguintes comandos para fazer login como usuário root e vá para a localização da pasta do script.

$ sudo -i
$ CD Home/Fahmida/Bash

Execute o seguinte comando novamente para executar o script como usuário root.

$ fonte de origem.sh

Saída:

De acordo com a saída, o primeiro emoji apareceu para o usuário normal e o segundo emoji apareceu para o usuário root.

Conclusão:

As maneiras de alterar o prompt de comando padrão de maneiras diferentes, modificando o valor do PS1, foram mostradas neste tutorial. Alguns caracteres escapados comumente usados ​​foram usados ​​nos exemplos deste tutorial para ajudar os leitores a conhecer o uso do PS1 para alterar o prompt de comando atual temporariamente ou permanentemente.