エスケープシーケンスに対応している端末ウィンドウでは、文字色や背景色を指定することができます。
echoコマンドでエスケープシーケンスを使うには、-eオプションが必要です。
コード | 機能 |
---|---|
\x1b[30m | 文字色を黒に変更 |
\x1b[31m | 文字色を赤に変更 |
\x1b[32m | 文字色を緑に変更 |
\x1b[33m | 文字色を黄に変更 |
\x1b[34m | 文字色を青に変更 |
\x1b[35m | 文字色をマゼンタに変更 |
\x1b[36m | 文字色をシアンに変更 |
\x1b[37m | 文字色を白に変更 |
\x1b[39m | 文字色を標準に戻す |
\x1b[40m | 背景色を黒に変更 |
\x1b[41m | 背景色を赤に変更 |
\x1b[42m | 背景色を緑に変更 |
\x1b[43m | 背景色を黄に変更 |
\x1b[44m | 背景色を青に変更 |
\x1b[45m | 背景色をマゼンタに変更 |
\x1b[46m | 背景色をシアンに変更 |
\x1b[47m | 背景色を白に変更 |
\x1b[49m | 背景色を標準に戻す |
\x1b[2J | 画面クリア |
\x1b[K | カーソル位置から行末までをクリア |
\x1b[nA | カーソルを上にn行移動 |
\x1b[nB | カーソルを下にn行移動 |
\x1b[nC | カーソルを右にn桁移動 |
\x1b[nD | カーソルを左にn桁移動 |
\x1b[y;xH | カーソルをy行のx桁目に移動 |
\x1b[0m | 属性を標準に戻す |
\x1b[1m | 属性を太字に変更 |
\x1b[4m | 属性を下線に変更 |
\x1b[7m | 属性を反転に変更 |
色を変えるだけでなく、カーソルの位置も任意に変えられます。
~$ clear; while :; > do printf "\x1b[%d;%dH\x1b[3%dm." \ > `expr $RANDOM % 40` \ > `expr $RANDOM % 160` \ > `expr $RANDOM % 8`;done
黒いコンソールにランダムに星を描いてみました。
コメント