Bash の echo の出力色を変更する

Nilesh Katuwal 2023年1月30日
  1. Bash で前景色を変更する
  2. Bash で背景色を変更する
  3. Bash でのエスケープシーケンスの使用
Bash の echo の出力色を変更する

この記事では、Linux でエコーの色を変更するさまざまな方法を紹介します。

Linux でエコーの出力色の変更を開始します。Linux で背景の出力色を変更する方法の例も示します。

Bash で前景色を変更する

Linux での前景色の変更の例を見ていきます。

$ echo "$(tput setaf 1)Shirt red $(tput setaf 4) Pant blue"

出力:

bash で前景色を変更します

前景色には setaf が使用されます。番号 1 は赤で、番号 4 は青です。

色番号は次のとおりです。

番号
1
2
3
4 黄色
5 青い
6 シアン
7 白い

Bash で背景色を変更する

echo の背景色を変更することもできます。

$ echo  "$(tput setaf 3) $(tput setab 1)sunflower is yellow"

出力

bash で背景色を変更する

背景色は setab を使用しています。出力は、背景色がに変更されたのに対し、テキストの色は黄色がかったままであることを示しています。

Bash でのエスケープシーケンスの使用

ターミナル上の色付きのテキストは、スクリプトによるエスケープシーケンスを使用して生成できます。各色には異なるカラーコードがあります。

例を見てみましょう。

$ echo -e "\e[1;31m Red is red in color bcoz its red"

上記の例では、-e を使用すると、echo コマンドで文字列内のエスケープシーケンスを考慮することができます。\e はエスケープシーケンスの開始を表します。

また、[1 を使用してテキストを太字にし、31 は赤のカラーコードであり、m はエスケープシーケンスの結論を表します。

出力

bash でエスケープシーケンスを使用する

出力に見られるように、エスケープシーケンスを使用してテキストを赤で出力しました。

30 から 39 の範囲の色は前景用です。背景色を変更したい場合は、40 以上のコードの色を使用する必要があります。

色の数は次のとおりです。

前景 バックグラウンド
30 40
31 41
32 42
黄色 33 43
青い 34 44
赤紫色 35 45
シアン 36 46
白い 37 47

関連記事 - Bash Echo