Você pode usar qualquer caractere imprimível, bash não se importa. Você provavelmente vai querer configurar seu terminal para suportar Unicode (na forma de UTF-8 ).
Existem muitos caracteres em Unicode, portanto, aqui estão algumas dicas para ajudá-lo a pesquisar nos gráficos Unicode:
- Você pode tentar desenhar o personagem em Shapecatcher . Ele tenta reconhecer um caractere Unicode no que você desenha.
- Você pode tentar descobrir em qual bloco o personagem está. Por exemplo, aquele símbolo de aparência estranha e aquela estrela estariam em um bloco de símbolos diversos; caracteres como
Ǫ
eı
são letras latinas com modificadores;∉
é um símbolo matemático e assim por diante. - Você pode tentar pensar em uma palavra na descrição do caractere e procurá-la em uma lista de nomes e descrições de símbolos unicode. Gucharmap ou Kcharselect pode ajudar.
P.S. No Shapecatcher, eu obtive U + 2234 PORTANTO por ∴
, U+2192 SETA PARA A DIREITA para →
, U + 263F MERCURY para ☿
e U + 2605 BLACK STAR para ★
.
Em um script bash, até o bash 4.1, você pode escrever um byte pelo seu ponto de código, mas não por um caractere. Se você quiser evitar caracteres não-ASCII para tornar seu .bashrc
resiliente em alterações de codificação de arquivo, será necessário inserir os bytes correspondentes a esses caracteres na codificação UTF-8. Você pode ver os valores hexadecimais executando echo ∴ → ☿ ★ | hexdump -C
em um terminal UTF-8, por exemplo ∴
é codificado por \xe2\x88\xb4
em 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 \u
seguido de 4 dígitos hexadecimais em uma string $'…'
.
PS1=$'\[\e[31m\]\u2234\[\e[0m\]\n\u2192 \u263f \~ \[\e[31m\]\u2605 $? \[\e[0m\]'