ANSIスタイルの組み合わせ - 1つのシーケンスに複数のコード
太字・カラー・下線テキストのための複数のANSIエスケープコードの組み合わせ方。セミコロン区切りSGRパラメータとフォーマット属性の正しい順序を学ぶ。
Practical Usage
詳細な説明
複数のANSIスタイルの組み合わせ
ANSI SGRパラメータは1つのエスケープシーケンス内でセミコロンで区切ることで組み合わせることができます。これにより複数のフォーマット属性を同時に適用できます。
構文
\033[code1;code2;code3m
一般的な組み合わせ
# 太字 + 赤
echo -e "\033[1;31m太字赤\033[0m"
# 太字 + 下線 + 青
echo -e "\033[1;4;34m太字下線付き青\033[0m"
# 斜体 + 緑 + 黄色背景
echo -e "\033[3;32;43m斜体緑に黄色\033[0m"
# 太字 + 下線 + 取り消し線 + マゼンタ
echo -e "\033[1;4;9;35mすべてのスタイル\033[0m"
コードの順序
シーケンス内のSGRコードの順序は一般的に問題ありませんが、慣例は:
- フォーマット属性(太字、斜体、下線):1, 2, 3, 4, 9
- フォアグラウンドカラー:30-37、90-97、または38;5;N / 38;2;R;G;B
- バックグラウンドカラー:40-47、100-107、または48;5;N / 48;2;R;G;B
シーケンスの重ね合わせ
別々のシーケンスで段階的に属性を適用することもできます:
# これらは同じ結果を生成します:
echo -e "\033[1;31;4m組み合わせ\033[0m"
echo -e "\033[1m\033[31m\033[4m重ね合わせ\033[0m"
部分的リセット
他の属性を維持しながら個別の属性をリセット:
# 太字 + 下線 + 赤、次に下線のみ削除
echo -e "\033[1;4;31m太字下線付き赤 \033[24m太字赤のみ\033[0m"
# 太字 + 斜体 + シアン、次に太字のみ削除
echo -e "\033[1;3;36m太字斜体シアン \033[22m斜体シアンのみ\033[0m"
256色の組み合わせ
# 太字 + 256色フォアグラウンド + 256色バックグラウンド
echo -e "\033[1;38;5;208;48;5;17m太字オレンジにネイビー\033[0m"
トゥルーカラーの組み合わせ
# 下線 + トゥルーカラーフォアグラウンド + トゥルーカラーバックグラウンド
echo -e "\033[4;38;2;255;200;0;48;2;0;0;100m下線ゴールドにネイビー\033[0m"
実用的なパターン
# 複数のスタイルを持つステータスライン
printf "\033[1;97;44m ステータス \033[0m \033[32m%s\033[0m\n" "すべてのシステムが稼働中"
ユースケース
スタイルの組み合わせは視覚的にリッチなCLIインターフェースの作成に不可欠です。ステータスバッジ(カラー背景に太字白テキスト)、テーブルヘッダー(太字下線付き)、非推奨通知(取り消し線と淡色)、クリッカブルに見えるリンク(下線付きシアン)、単純なカラー以上の視覚的階層が必要なターミナルUIに使用します。