私は誰かの端末のスクリーンショットを偶然見つけました:
バッシュプロンプトで使用できるすべての文字のリストはありますか、それとも誰かが星と右矢印の文字を入手できますか?
印刷可能な任意の文字を使用できますが、bashは気にしません。おそらく nicode をサポートするように端末を構成する必要があります(- TF-8 の形式で)。
Unicodeには多くの文字があるため、Unicodeチャートの検索に役立つヒントをいくつか紹介します。
Ǫ
やı
などの文字は修飾子付きのラテン文字です。 ∉
は数学記号などです。追伸シェイプキャッチャーで、私は + 2234 THEREFORE for ∴
、 + 2192 RIGHTWARDS ARROW for →
、 + 263F MERCURY for ☿
および + 2605 BLACK STAR for ★
。
Bash 4.1までのbashスクリプトでは、コードポイントでバイトを書き込むことができますが、文字は書き込むことができません。非ASCII文字を避けて.bashrc
をファイルエンコーディングの変更に復元できるようにする場合は、これらの文字に対応するバイトをUTF-8エンコーディングで入力する必要があります。 16進数の値を確認するには、UTF-8端末でecho ∴ → ☿ ★ | hexdump -C
を実行します。 ∴
は\xe2\x88\xb4
によって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
Bash 4.2以降、\u
文字列では、$'…'
に続けて4桁の16進数を使用できます。
PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'
あなたはこのような多くのサイトでユニコードシンボルを見つけることができます: http://panmental.de/symbols/info.htm
termはUTF-8をサポートする であることを確認する必要があります。
私はこれらのツールを使用するのが好きです—彼らは素晴らしい経験をしており、簡単に検索できます: