目次
「シェル - echoで文字に色をつける その1」では、echoで色をつける際の基本的な書き方について説明しました。
しかしそれぞれの色指定をどのように表現するかは、端末の機能や設定に依存します。端末により他の属性と同じ表現になっていたり、実装されておらず無視されるケースもあります。このページでは一つの具体例として、(私がよく使う)「PuTTY 0.56」での表現とデフォルト値について説明します。このページの記述はすべて「PuTTY 0.56」についての事柄であり、他の端末で同じである保証はありません。
「PuTTY 0.56」で「1」のbold指定をすると太字で表現するわけではなく、文字色をBold色で表示します。「5」のblink指定をすると点滅するわけではなく、背景色をBold色で表示します。つまり、boldを指定したときの文字色と、blinkを指定したときの背景色は同じ色合いになります。
Bold色は元の色よりも薄い色が設定されているため、文字色を明るくしたければ「1」を、背景色を明るくしたければ「5」を指定すればいいことになります。
※ただし、blinkで背景色が変わるのはPuTTYのデフォルトの設定の場合です。「設定変更」→「端末」→「テキストの点滅を有効にする」にチェックを入れると、背景色は変わらずに文字が点滅するようになります。
以下に「PuTTY 0.56」の、色合い表現のデフォルト設定と属性指定時の振舞いを示します。
繰り返しになりますが、どの属性が使えるか・どのように表現されるかは端末や設定によって異なります。お使いの端末で以下のシェルを実行することにより、どのような色や属性が使えるかを確認できます。
clear esc="\e[" for fore in 30 31 32 33 34 35 36 37; do line0="${fore} " line1=";1 " line4=";4 " line5=";5 " line7=";7 " line8=";8 " for back in 40 41 42 43 44 45 46 47; do line0="${line0}${esc}${back};${fore}m Normal ${esc}m" line1="${line1}${esc}${back};${fore};1m Bold ${esc}m" line4="${line4}${esc}${back};${fore};4m Under bar ${esc}m" line5="${line5}${esc}${back};${fore};5m Blink ${esc}m" line7="${line7}${esc}${back};${fore};7m Reverse ${esc}m" line8="${line8}${esc}${back};${fore};8m Concealed ${esc}m" done echo " 40 41 42 43 44 45 46 47" echo -e "${line0}" echo -e "${line1}" echo -e "${line4}" echo -e "${line5}" # echo -e "${line7}" # echo -e "${line8}" done 次のページ「シェル - echoで文字に色をつける その3」では、これまでに紹介した属性に加え、さらに多くの属性についてお伝えします。
※このページでは、echoの属性指定を指す場合には「blink」「bold」などのように lowerCamelで、PuTTYの設定を指す場合には「Blink」「Bold」などのようにUpperCamelで表記し分けています。仕様を定めたドキュメント(ECMA-48)上はlowerCamelで、PuTTYの設定画面上はUpperCamelで表記されていた為、両者を区別する為と、オリジナルの表記を正確に表現する為に表記し分けています。
参考URL
2011/06/09
|
Linux >