カラーリング端末

カラーリング端末

わかりました。

端末とシェル環境に色を付けますか?

状態

export COLOR_NC='\e[0m' # No Color
export COLOR_BLACK='\e[0;30m'
export COLOR_GRAY='\e[1;30m'
export COLOR_RED='\e[0;31m'
export COLOR_LIGHT_RED='\e[1;31m'
export COLOR_GREEN='\e[0;32m'
export COLOR_LIGHT_GREEN='\e[1;32m'
export COLOR_BROWN='\e[0;33m'
export COLOR_YELLOW='\e[1;33m'
export COLOR_BLUE='\e[0;34m'
export COLOR_LIGHT_BLUE='\e[1;34m'
export COLOR_PURPLE='\e[0;35m'
export COLOR_LIGHT_PURPLE='\e[1;35m'
export COLOR_CYAN='\e[0;36m'
export COLOR_LIGHT_CYAN='\e[1;36m'
export COLOR_LIGHT_GRAY='\e[0;37m'
export COLOR_WHITE='\e[1;37m'

たとえば、この値が実際にどのように機能するかを知りたいと思います。そしてCOLOR_GREENCOLOR_LIGHT_GREEN文字は異なりますが、視覚的に両方とも色と重さが異なり、1つは太字で表示され、もう1つはそうではありません...誰かを説明してください。ここで何が起こったの?

ベストアンサー1

あなたが引用した内容に目立つのは、\e[0mプロパティをリセットすることです。もう残ったのは一つだけだカラーパレット16色。通常、これらの色は変数を説明する名前と一致しますが、必ずしもそうではありません。端末がこれらのバイトシーケンスを受信すると、関連する色の使用を開始します。重要な点は、関連する色がどんな色であっても、2色以上であってもよいことです。

konsoleたとえば、任意の色を使用するように端末エミュレータ()を設定できます。これにより、私の端末でそれぞれ赤と青で表示されますCOLOR_GREENCOLOR_LIGHT_GREEN太字で強烈な色を描くオプションもあります。

通常、端末エミュレータは一連のバイトを取り、それに応答します。問題のシーケンスは色を選択することですが、サウンドを再生するターミナルエミュレータを作成することもできます。

色を使用するいくつかのプログラムは、私の端末エミュレータが実際に色を使うことを期待し、私のパレットが既存のパレットに似ていると期待するか、少なくとも私が非標準のパレットや端末エミュレータが作るものを使用している場合は、視覚的COLOR_LIGHT_fooに色を使用します欲しいです。COLOR_fooそのようなプログラムは読めないので、それは私の問題です。強い色を太字で描くと一般的に読みやすくなりますので、あなたが観察するのはかなり健全な設定の性能です。

問題の色をcolor1color2など、またはなどとして考えてくださいrequest1request2残りは端末(ターミナルエミュレータ)によって異なります。

おすすめ記事