よっしー
こんにちは。よっしーです(^^)
今日は、Bashで色をつけたり、太文字にする方法についてご紹介します。
背景
Bashで色をつけたり、太文字にする機会があったので、そのときの調査内容を備忘としてのこしました。
こちらのサイトを参考にしています。
文字の装飾
文字の装飾
ESC=$(printf '\033')
for n in {1..9}
do
printf "%d : ${ESC}[%03dm%s${ESC}[m\n" "$n" "$n" "Sample Text"
done
出力結果
文字に色をつける
ESC=$(printf '\033')
for n in {30..37}
do
printf "%d : ${ESC}[%03dm%s${ESC}[m\n" "$n" "$n" "Sample Text"
done
出力結果
文字に背景色をつける
ESC=$(printf '\033')
for n in {40..47}
do
printf "%d : ${ESC}[%03dm%s${ESC}[m\n" "$n" "$n" "Sample Text"
done
出力結果
解説
ESC=$(printf '\033')
for n in {1..9}
do
printf "%d : ${ESC}[%03dm%s${ESC}[m\n" "$n" "$n" "Sample Text"
done
この Bash スクリプトは、ANSI エスケープ コードを使用して色付きのテキストを出力します。
その内容は次のとおりです。
- ESC 変数をエスケープ文字 (\033) に設定します。
- 1から9までループします。
- 各反復で、数値が出力され、その後にコロンとスペースが続きます。
- 次に、エスケープ コードを使用して、テキストの色を対応する値に設定します (たとえば、赤は 001、緑は 002 など)。
- 最後に、「サンプルテキスト」というテキストを指定した色で出力します。
ANSIエスケープコードについて
ANSIエスケープコードは、コンピュータシステムにおいて通常の文字列では表せない特別な文字や機能を、規定された特別な文字の並びにより表現するものです。具体的には、以下のような用途で利用されます:
- カーソル移動と画面制御:
- カーソルを上下左右に移動させる。
- 画面の一部または全体を消去する。
- カーソルを指定した座標に移動させる。
- テキストフォントと色の指定:
- テキストのフォント種別を指定する。
- 前景色と背景色を指定する。
- 端末エミュレータで利用:
- 端末エミュレータ(コンソール)でこのシーケンスが解釈され、テキスト端末でグラフィカルな表現を行うことができます。
- ただし、対応しているかどうか、対応しているとしてもどこまで対応しているかは端末次第です。
具体的なコード例や詳細な一覧はWikipediaなどを参照することができます。
おわりに
今日は、Bashで色をつけたり、太文字にする方法についてご紹介しました。
よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント