rxvt-unicodeでカラーコードを定義する

rxvt-unicodeでカラーコードを定義する

端末で一部のツールを使用するnode.jsと、カラー出力に問題があります。ご覧のとおり、カラーコード90を使用する一部のテキストは、mochaurxvtここ端末から消えます。

tput colors出力は次のとおりです。256

次のコマンドを使用してください。

(x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}(x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done)$x;done)

私は色があると思います。

しかし、私が次のように答えようとすると:

echo '\e[0;90m shahin \e[m '

空白行が印刷されます!このカラーコードを手動で定義する方法はありますか?

みんなありがとうございます!

更新:一部の画像が状況をよりよく説明すると思います。以下はfinalterm端末のechoコマンドイメージです。

ここに画像の説明を入力してください。

結果をここに配置しましたurxvt

ここに画像の説明を入力してください。

これが結果ですこれ perl同じコンピュータで実行されるスクリプトurxvt:

ここに画像の説明を入力してください。

ベストアンサー1

無効なエスケープシーケンスを使用しました。

近いが(で始まりescape[、で終わるm)パラメータが間違っています。

xtermと同様の端末から色を印刷するために使用される選択されたグラフィックレンダリング(SGR)エスケープシーケンスは3つ以上あります。

  • ANSI(色0-7)、パラメータ30-37(前景)、40-47(背景)を使用する
  • aixterm(色8-15)、パラメータ90-97(前景)、100-107(背景)を使用
  • 256色(色0-255)、コード使用38;5;範囲(前景)と48;5;範囲(背景)

したがって、aixterm前景色8を選択しました。通常、これらの色は色0-7の明るいバージョンで表示されます。 ANSI色0例ブラック。光沢のある黒は...端末によって灰色の日数があります。ただ黒いかもしれません。

たぶん、次の意味があります。

echo '\e[0;38;5;90m shahin \e[m '

これが移植可能である間:

printf '\033[0;38;5;90m shahin \033[m \n'

追加資料:

おすすめ記事