ANSI Escape CodeにおけるSGRコードを出力する。
成果物
詳しくはhelp参照。
概要
ANSI Escape Codeにおける文字、背景、下線の色を4bitカラーで設定するSGRコードを出力する。
\e[31m
で文字色を赤にする。このうち31
のSGRコード部分のみ出力する。
\e[31;42m
で文字色=赤、背景色=緑にする。このうち31;42
のSGRコード部分のみ出力する。
箇所 | コード |
---|---|
文字 | \e[3i ,\e[9i |
背景 | \e[4i ,\e[10i |
下線 | \e[58;5;I |
前回、-F
,-B
フラグにて高輝度色にしていた。今回はそれを色名の大文字化によって指定するようにした。また、下線の色も指定できるようにした。
例
文字=赤、背景=緑、下線=青にするSGRコードを出力する。
color4.sh r g b
以下のようなSGRコードが出力される。
42;58;5;4;31
ANSI Escape Codeの書式にして使ってみる。
COLOR="$(color4.sh r g b)" echo -e "\e[4;${COLOR}mここの色を変える\e[m"
使いやすくする。
Color4() { echo -e "\e[4;$("$COLOR4" ${@:2})m$1\e[m"; } Color4 'ここの色を変える' red green blue
ほかにもred
,green
,blue
などフルネームも使える。
color4.sh red green blue
高輝度色にするなら大文字にする
color4.sh R G B color4.sh RED GREEN BLUE
文字色を指定したいなら-f
、背景色を指定したいなら-b
、下線色を指定したいなら-l
オプションを使う。
color4.sh -f red color4.sh -b green color4.sh -l blue
インデックス値でも指定できる。0
〜15
。
color4.sh 1 2 4 color4.sh 9 10 12
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux