Acabo de encontrar una captura de pantalla del terminal de alguien:
¿Hay una lista de todos los personajes que se pueden usar en un indicador de Bash, o alguien puede obtener el personaje de la estrella y la flecha derecha?
Acabo de encontrar una captura de pantalla del terminal de alguien:
¿Hay una lista de todos los personajes que se pueden usar en un indicador de Bash, o alguien puede obtener el personaje de la estrella y la flecha derecha?
Respuestas:
Puedes usar cualquier personaje imprimible, a bash no le importa. Probablemente desee configurar su terminal para admitir Unicode (en forma de UTF-8 ).
Hay muchos caracteres en Unicode, así que aquí hay algunos consejos para ayudarlo a buscar en los cuadros de Unicode:
Ǫ
y ı
son letras latinas con modificadores; ∉
es un símbolo matemático, y así sucesivamente.PD: En Shapecatcher, obtuve U + 2234 POR TANTO para ∴
, U + 2192 FLECHA DERECHA para →
, U + 263F MERCURIO para ☿
y U + 2605 ESTRELLA NEGRA para ★
.
En un script bash, hasta bash 4.1, puede escribir un byte por su punto de código, pero no un carácter. Si desea evitar los caracteres que no son ASCII para que sea .bashrc
resistente a los cambios de codificación de archivos, deberá ingresar los bytes correspondientes a estos caracteres en la codificación UTF-8. Puede ver los valores hexadecimales ejecutándose echo ∴ → ☿ ★ | hexdump -C
en un terminal UTF-8, por ejemplo, ∴
está codificado \xe2\x88\xb4
en 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 bash 4.2, puede usar \u
seguido de 4 dígitos hexadecimales en una $'…'
cadena.
PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'
1
fue un error tipográfico, es solo hexdump -C
(o hd
para abreviar en algunos sistemas).
PS1=$'\u2234\u2192\u263f\u2605'
siente más fácil de mantener :-)
\uNNNN
sintaxis es una característica de las $'…'
citas, no de una pronta expansión. El valor de PS1
debe contener el carácter Unicode. $'\u1234'
es una forma de poner el carácter Unicode en una cadena.
Puede encontrar los símbolos Unicode en muchos sitios, como este: http://panmental.de/symbols/info.htm
Solo tiene que asegurarse de que su término sea compatible con UTF-8 .
\u27A4
Me gusta usar estas herramientas, tienen una experiencia agradable y es fácil de buscar:
echo ★ | hexdump -C1
, me sale:hexdump: invalid option -- '1'
. ¿Seguirá funcionando sin el 1 en la invocación?