MAGAZINE

ルーターマガジン

プログラミング

制御文字を活用した色付き標準出力

2023.12.14
Pocket

はじめに

プログラムを開発する際、標準出力を活用してデバッグ情報や重要なメッセージを表示することはよくあります。しかし、これらのメッセージを単なる白黒のテキストで表示するだけでは、情報の把握が難しいことがあります。そこで、制御文字を利用して標準出力の文字列に色を付けることで、情報を際立たせることができログの解読の速度、正確性を向上させることができます。

制御文字とは何か?

制御文字は、通常の印字文字ではなく、端末やディスプレイなどに対して制御信号を送るための特殊な文字です。これを利用して、テキストに色やスタイルを付けることが可能です。

色を付ける方法

多くのターミナルは、ANSIエスケープシーケンス(エスケープコード)をサポートしています。これを使用することで、文字列に色やスタイルを適用できます。

以下は、一般的なANSIエスケープシーケンスの例です。

"\033[0m" : リセット (通常の文字色とスタイルに戻す)
"\033[1m" : 太字
"\033[31m" : 赤い文字
"\033[42m" : 緑の背景

これを組み合わせて、例えば赤の太字の文字列を表示するには、次のようにします。(bashでの利用例)

※ -eオプションは、エスケープシーケンスを解釈するために必要です。

echo -e "\033[1;31mThis is Red Bold message.\033[0m"

▼実行結果

以下のようにその他の色でのメッセージ表示もできます。

#!/bin/bash

# ANSIエスケープシーケンスを変数に設定
RED='\033[1;31m'
GREEN='\033[1;32m'
YELLOW='\033[1;33m'
RESET='\033[0m'

# 赤い太字のエラーメッセージを表示
echo -e "${RED}Error: Something went wrong.${RESET}"

# 緑の太字の成功メッセージを表示
echo -e "${GREEN}Success: Operation completed successfully.${RESET}"

# 黄色い太字の警告メッセージを表示
echo -e "${YELLOW}Warning: This is a warning message.${RESET}"

# コマンドの実行結果を緑の太字で表示
echo -e "${GREEN}$(date '+%Y-%m-%d %H:%M:%S')${RESET}"

▼実行結果

まとめ

標準出力に色を付けることは、開発者にとって非常に有益です。エラーや警告を目立たせ、成功メッセージを強調することで、コードの実行やデバッグが効率的になります。是非、プログラム開発においてこのテクニックを活用してみてください。

Pocket

CONTACT

お問い合わせ・ご依頼はこちらから