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 .bashrcdosya 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 -Cbir 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 \usonra, bir $'…'dizgede 4 onaltılık basamak kullanabilirsiniz .
PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'
1bir yazım hatası oldu, sadece hexdump -C(ya da hdbazı sistemlerde kısa).
PS1=$'\u2234\u2192\u263f\u2605':-)
\uNNNNSözdizimi, $'…'hızlı genişlemenin değil, alıntı yapma özelliğidir . Değeri PS1Unicode 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 -C1alıyorum:hexdump: invalid option -- '1'. Hala 1 numara olmadan çalışacak mı?