1.bashでの色付け
(1)書式
書き方は2通り。(以下の例は~/.bashrc より)
PS1='[\033[書体や色番号m\表示文字列\033[元に戻すm]\$ '
と
PS1='[\e[書体や色番号m\表示文字列\e[元に戻すm]\$ '
\033 と \e が同じ意味である(どちらも「アスキーの制御文字を表示する」の意味)。
上記の書式は \033[(または \e[ )で開始され、\033[ (または \e[)で終了する。
両端の[ と ]$ は表文字の一部である。
アスキーの制御文字って?ここでは特殊文字ってぐらいに覚えておけば良いと思う。詳しくはGoogleで検索してください。
2.文字装飾の書き方
色番号は
文字色(書体を含む); 下線(反転やブリンクなど); バックグラウンドの色
の順に書く。文字そのものの装飾、文字周りの装飾、そしてバックグラウンドと3種類の構成である。
参考: bashで16色表示するスクリプト用意しておくと便利
3.番号の作り
数字は全て2桁。
2桁目の0(太字等),3(文字色)、4(背景)と1桁目の0〜8の数字を組み合わせて実現する。
色(1桁目) | 文字(2桁目3) | 下線等2桁目0) | 背景(2桁目4) |
0(黒) | 30(文字黒) | 00(すべてを初期化) | 40(背景黒) |
1(赤) | 31 (文字赤) | 01(太字) | 41(背景赤) |
2(緑) | 32(文字緑) | 02(弱強調) | 42(背景緑) |
3(黄) | 33(文字黄または茶) | 43(背景黄または茶) | |
4(青) | 34(文字青) | 04(下線) | 44(背景青) |
5(紫) | 35(文字紫) | 05(点滅) | 45(背景紫) |
6(水) | 36(文字水) | 46(背景水) | |
7(白) | 37(文字白またはグレー) | 07(反転) | 47(背景白またはグレー) |
8 | 08(非表示) |
4.readコマンドの場合
制御文字は、通常、echo -e に渡すが、read コマンドには、制御文字の認識に $ が必要。
read -p
参考:Read Command : Display the prompt in color (or enable interpretation of backslash escapes)
\e[31m表示する文字列\e[0m: ' object
参考:Read Command : Display the prompt in color (or enable interpretation of backslash escapes)
コメント