HOWTO · Bash

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

この記事では、Linux でエコーの出力色を変更する方法を示します。

このページの内容

この記事では、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