Acabei de encontrar uma captura de tela do terminal de alguém:

Existe uma lista de todos os personagens que podem ser usados em um prompt do Bash, ou alguém pode obter o personagem para a estrela e a seta para a direita?
Acabei de encontrar uma captura de tela do terminal de alguém:

Existe uma lista de todos os personagens que podem ser usados em um prompt do Bash, ou alguém pode obter o personagem para a estrela e a seta para a direita?
Respostas:
Você pode usar qualquer caractere imprimível, o bash não se importa. Você provavelmente desejará configurar seu terminal para suportar Unicode (na forma de UTF-8 ).
Existem muitos caracteres no Unicode, então, aqui estão algumas dicas para ajudá-lo a pesquisar nos gráficos Unicode:
Ǫe ısão letras latinas com modificadores; ∉é um símbolo matemático e assim por diante.PS No Shapecatcher, obtive U + 2234 POR ISSO por ∴, U + 2192 SETA PARA A DIREITA por →, U + 263F MERCURY por ☿e U + 2605 BLACK STAR por ★.
Em um script bash, até o bash 4.1, você pode escrever um byte por seu ponto de código, mas não por um caractere. Se você deseja evitar caracteres não ASCII para tornar suas .bashrcalterações na codificação de arquivos resilientes, será necessário inserir os bytes correspondentes a esses caracteres na codificação UTF-8. Você pode ver os valores hexidecimais executando echo ∴ → ☿ ★ | hexdump -Cem um terminal UTF-8, por exemplo, ∴é codificado \xe2\x88\xb4em UTF-8.
if [[ $LC_CTYPE =~ '\.[Uu][Tt][Ff]-?8' ]]; then
PS1=$'\\[\e[31m\\]\xe2\x88\xb4\\[\e[0m\\]\n\xe2\x86\x92 \xe2\x98\xbf \\~ \\[\e[31m\\]\xe2\x98\x85 $? \\[\e[0m\\]'
fi
Desde o bash 4.2, você pode usar \useguido de 4 dígitos hexadecimais em uma $'…'sequência.
PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'
1foi um erro de digitação, é apenas hexdump -C(ou hdabreviado em alguns sistemas).
PS1=$'\u2234\u2192\u263f\u2605'sente - se mais fácil de manter :-) #
\uNNNNsintaxe é um recurso de $'…'citação, não de expansão imediata. O valor de PS1deve conter o caractere Unicode. $'\u1234'é uma maneira de colocar o caractere Unicode em uma string.
Você pode encontrar os símbolos unicode em muitos sites, como este: http://panmental.de/symbols/info.htm
Você só precisa garantir que seu termo seja compatível com UTF-8 .
\u27A4
eu gosto de usar essas ferramentas - elas têm uma experiência agradável e é fácil pesquisar:
echo ★ | hexdump -C1, eu recebo:hexdump: invalid option -- '1'. Ainda funcionará sem o 1 na invocação?