1. ホーム
  2. バッシュ

[解決済み】Bashで4桁のUnicode文字をエコーする方法とは?

2022-04-01 06:32:16

質問

シェルプロンプトにユニコードのドクロと十字架を追加したいのですが(具体的には '頭蓋骨と十字架' (u+2620) しかし、echo にこの文字、あるいは他の 4 桁の Unicode 文字を吐かせるための魔法の呪文がわからないのです。2桁の1文字は簡単です。たとえば echo -e "\x55" , .

gnome-terminal はこの点で良い仕事をしてくれますが、必ずしもデフォルトでオンになっているわけではありません。

macOSのTerminalアプリの場合 Preferences-> EncodingsからUnicode (UTF-8)を選びます。

解決するには?

UTF-8では、実際には6桁(または3バイト)です。

$ printf '\xE2\x98\xA0'
☠

コンソールでどのようにエンコードされているかを確認するには、hexdumpを使用します。

$ printf ☠ | hexdump
0000000 98e2 00a0                              
0000003