Sadece birinin terminalinin ekran görüntüsüne rastladım:
Bash isteminde kullanılabilecek tüm karakterlerin bir listesi var mı, yoksa biri bana yıldız ve sağ ok için karakter bulabilir mi?
Sadece birinin terminalinin ekran görüntüsüne rastladım:
Bash isteminde kullanılabilecek tüm karakterlerin bir listesi var mı, yoksa biri bana yıldız ve sağ ok için karakter bulabilir mi?
Yanıtlar:
Basılabilir herhangi bir karakteri kullanabilirsiniz, bash aldırmaz. Terminalinizi Unicode'u ( UTF-8 şeklinde ) destekleyecek şekilde yapılandırmak isteyeceksiniz .
Unicode'da çok fazla karakter var, bu yüzden Unicode grafiklerinde arama yapmanıza yardımcı olacak birkaç ipucu:
Ǫ
ve ı
değiştiricileri olan latin harfleri; ∉
matematiksel bir semboldür vb.PS On Shapecatcher, aldığım U + 2234 DOLAYISIYLA için ∴
, U + 2192 Sağ Ok için →
, U + 263F MERCURY için ☿
ve U + 2605 SİYAH YILDIZ için ★
.
Bir bash betiğinde, bash 4.1'e kadar, bir byte'ı kod noktası ile yazabilirsiniz, ancak karakter yazamazsınız. ASCII olmayan karakterlerin .bashrc
dosya kodlama değişikliklerine karşı esnekliğini sağlamaktan kaçınmak istiyorsanız , UTF-8 kodlamasında bu karakterlere karşılık gelen baytları girmeniz gerekir. Onaltılık değerleri echo ∴ → ☿ ★ | hexdump -C
bir UTF-8 terminalinde çalıştırarak görebilirsiniz , örneğin UTF-8'de ∴
kodlanmıştır \xe2\x88\xb4
.
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
Bash 4.2'den \u
sonra, bir $'…'
dizgede 4 onaltılık basamak kullanabilirsiniz .
PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'
1
bir yazım hatası oldu, sadece hexdump -C
(ya da hd
bazı sistemlerde kısa).
PS1=$'\u2234\u2192\u263f\u2605'
:-)
\uNNNN
Sözdizimi, $'…'
hızlı genişlemenin değil, alıntı yapma özelliğidir . Değeri PS1
Unicode karakterini içermelidir. $'\u1234'
Unicode karakterini bir dizgeye koymanın bir yoludur.
Unicode sembollerini birçok sitede bulabilirsiniz, bunun gibi: http://panmental.de/symbols/info.htm
Terimin UTF-8'i desteklediğinden emin olmalısın .
\u27A4
Bu araçları kullanmaktan hoşlanıyorum - iyi bir deneyime sahipler ve aradıkları şey:
echo ★ | hexdump -C1
alıyorum:hexdump: invalid option -- '1'
. Hala 1 numara olmadan çalışacak mı?