Referências
Até agora, não houve uma única referência para tudo o que pode acontecer em um prompt do Bash - mas como é um recurso que evoluiu ao longo de décadas e provavelmente varia de distribuição para distribuição, talvez seja pedir demais. Tentei resumir o que achei mais útil aqui.
Este manual é o mais completo, mas é muito longo e desconexo. Algumas das seções mais úteis:
- Seção 2.4 e 2.5 explica os conceitos básicos da configuração do PS1, incluindo os caracteres de escape (imprimíveis).
-
Seção 3.4 explica por que
\[
e\]
são necessários. - A Seção 6 explica todas as principais seqüências de escape (não imprimíveis) que você pode usar, incluindo definindo a cor do prompt e o título de uma janela xterm.
Este guia explica como o ${}
funciona no Bash em geral, e esta pergunta sobre o Ubuntu explica um pouco mais sobre como isso funciona com debian_chroot
.
Entre esses, eu acho que todos os caracteres na variável padrão do Ubuntu PS1 são explicados.
Explicação do prompt do Ubuntu
Existem três partes no prompt:
-
\[\e]0;\u@\h: \w\a\]
define a barra de título de uma janela xterm:-
\[
inicia uma seção de caracteres não imprimíveis -
\e]0;
é a sequência de escape para 'set xterm title' (acredito que números diferentes de 0 irão definir outras propriedades xterm, embora eu não tenha testado isso) -
\u@\h: \w
do título a ser usado (veja abaixo para\u
,\h
e\w
) -
\a
marca o final do título -
\]
marca o final dos caracteres não imprimíveis
-
-
${debian_chroot:+($debian_chroot)}
expande para o valor de $ debian_chroot entre parênteses se $ debian_chroot estiver definido. Veja esta questão para mais informações sobre $ debian_chroot. -
\u@\h:\w\$
é o prompt em si:-
\u
se expande para o nome de usuário atual -
\h
se expande para o nome do host atual -
\w
se expande para o diretório de trabalho atual -
\$
expande para#
para raiz e$
para todos os outros usuários
-