ウェブサイト検索

BashでEchoの出力色を変更する方法 - Linux


echoコマンドはbashスクリプトで広く使われています。echoコマンドは端末に文字列やメッセージを表示します。

Bashスクリプトでは、異なる出力メッセージを区別するために、echo文字列の色を変更できます。この記事では、Linuxでechoの出力の色を変更するために必要なコマンドについて説明します。

Linuxでechoの色を変更する方法

echoコマンドの出力色を変更する最も簡単な方法は、ANSIエスケープコードを使用することです。

ANSIエスケープコードは、echoおよびprintfコマンドの出力を変更するために使用されます。ANSIコードは、以下に示すエスケープ文字で始まります:

\x1B
16進数
\033
八進法

8進法のエスケープコード(\033)は主に使用されます。ANSIエスケープコードを使用する際の構文は次の通りです:

\033[<code>m

上記の構文では、<code>はANSIカラ―コードに置き換えられます。

CSI: コントロールシーケンスインデューサー

最も使用されるANSIエスケープコードのいくつかは、以下の表に示されています:

黒
0;30
赤
0;31
緑
0;32
オレンジ
0;33
青
0;34
紫
0;35
シアン
0;36
ライトグレー
0;37

明るい色調の色については、以下にANSIコードが記載されています。

ダークグレー
1;30
ライトレッド
1;31
ライトグリーン
1;32
黄色
1;33
ライトブルー
1;34
薄い紫
1;35
ライトシアン
1;36
白
1;37

特定の文字列の色を変更するための構文は次のようになります:

\033[0;31<TEXT>m

上記の構文は、<TEXT>の色を赤に変更します。

バッシュでエコー出力の色を変更する方法 - Linux

では、Linuxでechoのテキストカラーを変更する簡単なbashスクリプトを作成しましょう。

以下のコマンドを使用してbashスクリプトファイルを作成してください:

sudo nano mybashScript.sh

さて、スクリプトを入力してください。以下に例のスクリプトがあります:

#!/bin/bash

red='\033[0;31m'

green='\033[0;32m'

blue='\033[0;34m'

echo -e "{red}This is a bash script"

echo -e "${green}Hello ${blue}LinuxHint"

-e フラグはエコーコマンドと共に挿入され、エスケープシーケンスを使用します。

スクリプトを実行するには、以下に記載されているコマンドを使用してください:

bash mybashScript.sh

Linuxでエコー出力の背景色を変更する方法

ANSIコードはテキストの色を変更するだけでなく、テキストに背景色を適用するためにも使用できます。

エコー出力に背景色を適用する方法は非常に似ていますが、ANSIコードは異なります。

背景色を変更するためのコードのリストは以下に示されています:

黒
0;40
赤
0;41
緑
0;42
オレンジ
0;43
青
0;44
紫
0;45
シアン
0;46
ライトグレー
0;47

バッシュスクリプトの例で理解してみましょう:

#!/bin/bash

grey='\033[0;47m'

cyan='\033[0;46m'

echo -e "${grey}Hello ${cyan}LinuxHint"

結論

echoコマンドは、ターミナルにテキストを表示するために使用されます。出力メッセージを区別するために、echo出力に異なる色を適用することができます。出力の色を変更するために、ANSIエスケープコードがechoと一緒に使用されます。これらのコードは、テキストの色とその背景色を変更することができます。