Ho appena incontrato uno screenshot del terminale di qualcuno:
C'è un elenco di tutti i personaggi che possono essere utilizzati in un prompt di Bash o qualcuno può procurarmi il personaggio per la stella e la freccia destra?
Ho appena incontrato uno screenshot del terminale di qualcuno:
C'è un elenco di tutti i personaggi che possono essere utilizzati in un prompt di Bash o qualcuno può procurarmi il personaggio per la stella e la freccia destra?
Risposte:
Puoi usare qualsiasi personaggio stampabile, a Bash non importa. Probabilmente vorrai configurare il tuo terminale per supportare Unicode (sotto forma di UTF-8 ).
Ci sono molti personaggi in Unicode, quindi ecco alcuni suggerimenti per aiutarti a cercare tra i grafici Unicode:
Ǫ
e ı
sono lettere latine con modificatori; ∉
è un simbolo matematico e così via.PS Su Shapecatcher, ho avuto U + 2234 QUINDI per ∴
, U + 2192 Freccia verso destra per →
, U + 263F MERCURY per ☿
e U + 2605 BLACK STAR per ★
.
In uno script bash, fino a bash 4.1, puoi scrivere un byte dal suo punto di codice, ma non un carattere. Se si desidera evitare caratteri non ASCII per rendere .bashrc
resilienti le modifiche alla codifica dei file, è necessario immettere i byte corrispondenti a questi caratteri nella codifica UTF-8. È possibile visualizzare i valori esadecimali eseguendo echo ∴ → ☿ ★ | hexdump -C
in un terminale UTF-8, ad es. ∴
È codificato \xe2\x88\xb4
in 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
Da bash 4.2, puoi usare \u
seguito da 4 cifre esadecimali in una $'…'
stringa.
PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'
1
era un errore di battitura, è solo hexdump -C
(o hd
in breve su alcuni sistemi).
PS1=$'\u2234\u2192\u263f\u2605'
è più facile da mantenere :-)
\uNNNN
sintassi è una funzione di $'…'
quotazione, non di rapida espansione. Il valore di PS1
deve contenere il carattere Unicode. $'\u1234'
è un modo per inserire il carattere Unicode in una stringa.
Puoi trovare i simboli unicode su molti siti, come questo: http://panmental.de/symbols/info.htm
Devi solo assicurarti che il tuo termine supporti UTF-8 .
\u27A4
mi piace usare questi strumenti: hanno una bella esperienza ed è facile cercare:
echo ★ | hexdump -C1
, ottengo:hexdump: invalid option -- '1'
. Funzionerà ancora senza 1 nell'invocazione?