username@hostname:directory$
. Mas você pode configurar o prompt do Bash para conter o que quiser e até escolher as cores que quiser.
As etapas de exemplo aqui foram realizadas no Ubuntu 16.04 LTS. O processo deve ser o mesmo em outras distribuições do Linux, embora o prompt e as configurações padrão do Bash no arquivo.bashrc possam ser um pouco diferentes.
Onde a variável de prompt é armazenada
Sua configuração de prompt do Bash é armazenada no arquivo.bashrc da sua conta de usuário, que está em
~/.bashrc
. Então, se o seu nome de usuário é bob, o arquivo está em
/home/bob/.bashrc
Você pode abrir o arquivo para visualizar a variável atual do Bash. Usaremos o nano como nosso editor de texto de exemplo, embora você também possa usar o vi, o emacs ou qualquer outro editor de texto com o qual esteja familiarizado. Abra um Terminal e execute:
nano ~/.bashrc
PS1=
seção. A primeira variável parece bastante complicada porque inclui informações sobre cores - explicaremos isso depois. A segunda variável, sem informações sobre cores, é a seguinte:
${debian_chroot:+($debian_chroot)}u@h:w$
${debian_chroot:+($debian_chroot)}
bits. Estes apenas dizem à Bash para informá-lo se você estiver usando um ambiente chroot do Debian e normalmente não será mostrado. Ignorando esses, aqui está a estrutura padrão da variável de prompt do Bash:
u@h:w$
u
indica seu nome de usuário,
@
indica o sinal @,
h
indica o nome do host (nome do computador),
:
indica o caractere:
w
indica o diretório de trabalho e
$
indica um $ se você for uma conta de usuário normal ou # se for root. Então, juntando tudo isso, você consegue
username@hostname:working_directory$
Para alterar seu prompt do Bash, você só precisa adicionar, remover ou reorganizar os caracteres especiais na variável PS1. Mas há muito mais variáveis que você pode usar do que as variáveis padrão.
Deixe o editor de texto por enquanto - em nano, pressione Ctrl + X para sair. Mostraremos como experimentar as variáveis antes de criar uma nova em seu arquivo.bashrc.
Como criar um prompt de bash personalizado
Sua configuração de prompt do Bash é armazenada na variável PS1. Para salvar o conteúdo da variável PS1 em uma nova variável, execute o seguinte comando:
DEFAULT=$PS1
Agora você pode definir a variável PS1 para diferentes valores para experimentar. Por exemplo, a primeira linha aqui definiria seu prompt como um prompt básico "user $", enquanto o segundo configuraria seu prompt para um prompt básico "user: working_directory $".
PS1='u$ ' PS1='u:w$ '
Se você quiser voltar ao seu prompt padrão, basta executar o seguinte comando.
PS1=$DEFAULT
O Bash será restaurado para o prompt padrão, graças ao fato de que você salvou essas configurações padrão anteriormente. Observe que quaisquer alterações feitas aqui são apenas temporárias para a sessão atual do Bash, para que você possa sempre sair e fazer login novamente ou fechar e reabrir a janela do terminal para voltar ao prompt padrão. Mas a linha acima torna possível voltar facilmente ao seu prompt Bash padrão sem o incômodo de sair ou fechar uma janela.
PS1='Hello World u@h:w$ '
-
Um caractere de sino:
a
-
A data, no formato "Data da semana do mês" (por exemplo, "Ter 26 de maio"):
d
-
O formato é passado para strftime (3) e o resultado é inserido na string de prompt; um formato vazio resulta em uma representação de hora específica de localidade. As chaves são necessárias:
D{format}
-
Um caractere de escape:
e
-
O nome do host, até o primeiro ".":
h
-
O nome do host:
H
-
O número de trabalhos atualmente gerenciados pelo shell:
j
-
O nome da base do nome do dispositivo terminal da shell:
l
- Uma nova linha:
- Um retorno de carro:
-
O nome do shell, o nome de base de $ 0 (a parte após a barra final):
s
-
A hora, no formato de 24 horas HH: MM: SS:
-
A hora, no formato de 12 horas HH: MM: SS:
T
-
A hora, no formato de 12 horas am / pm:
@
-
A hora, no formato de 24 horas HH: MM:
A
-
O nome de usuário do usuário atual:
u
-
A versão do Bash (por exemplo, 2.00):
v
-
O lançamento do Bash, versão + patchlevel (por exemplo, 2.00.0):
V
-
O diretório de trabalho atual, com $ HOME abreviado com um til (usa a variável $ PROMPT_DIRTRIM):
w
-
O nome de base de $ PWD, com $ HOME abreviado com um til:
W
-
O número do histórico deste comando:
!
-
O número do comando deste comando:
#
-
Se o uid efetivo for 0, #, caso contrário, $:
$
-
O caractere cujo código ASCII é o valor octal nnn:
nn
-
Uma barra invertida:
-
Comece uma seqüência de caracteres não imprimíveis. Isso pode ser usado para incorporar uma seqüência de controle do terminal no prompt:
[
-
Encerra uma sequência de caracteres não imprimíveis:
]
Então, se você quisesse adicionar a data e a hora ao seu prompt do Bash e colocar o diretório de trabalho no comando em uma segunda linha, você poderia usar a seguinte construção:
PS1='[d ] u@h
w$ '
Os colchetes aqui não são necessários, mas ajudam a separar as coisas visualmente e facilitam a leitura da linha. Como abordamos anteriormente, você pode adicionar qualquer texto ou caracteres normais à variável que desejar, portanto sinta-se à vontade para usar o que funciona para você.
`
personagens. Isso não é um apóstrofo - esse é o sotaque grave, que aparece acima da tecla Tab no teclado.
Por exemplo, digamos que você queira visualizar a versão do kernel do Linux no prompt. Você poderia usar uma linha como a seguinte:
PS1='u@h on `uname -s -r` w$ '
uptime
comando. Você pode usar a construção a seguir, que coloca o tempo de atividade em sua própria linha antes do restante do prompt.
PS1='(`uptime`)
u@h:w$ '
Como adicionar cores ao seu prompt de bash
Depois de descobrir seu prompt preferido, você pode adicionar cores a ele. Isso é realmente muito simples, mas faz a variável parecer muito confusa e complicada se você não entender o que você está vendo.
Por exemplo, a variável de prompt de cor padrão anterior era:
${debian_chroot:+($debian_chroot)}[