より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

bashの文字色変更について自分の手を動かして基本を学んでみる

bashの文字色変更についてです。

Windowsコマンドプロンプトと比べると一見すると複雑です。

rimever.hatenablog.com

いまいち、記事を読んでも分からなかったので自分の手で動かしてみることにしました。

echo -e "¥e[31m red ¥em"

f:id:rimever:20191118220841p:plain

¥e[色属性mで文字の属性を宣言します。最後に¥emでリセットします。

この色属性というのが厄介です。

31は文字色が赤、32は文字色が緑、33が文字色が黄色です。

41は背景が赤、42が背景が緑、43が背景が黄色です。

じゃ、最初の3が文字色で次の数字が色?

と思いきや、そうでもなかったりします。91などでも文字色が変えられますし、もっと細かい色指定もできます。

継ぎ足し、継ぎ足しの産物でしょう。

misc.flogisoft.com

ひとまずは、基本は3xと4xで、良さそうです。

下一桁の色は、以下です。

下一桁の数字
0 Black
1 Red
2 Green
3 Yellow
4 Blue
5 Magenta
6 Cyan
7 Light gray

文字色と背景色を組み合わせる時は;で挟みます。

echo -e "¥e[31;44m red ¥em"

f:id:rimever:20191118221927p:plain

参考記事

www.m-bsys.com

qiita.com