端末で一部のツールを使用するnode.js
と、カラー出力に問題があります。ご覧のとおり、カラーコード90を使用する一部のテキストは、mocha
urxvt
ここ端末から消えます。
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'
追加資料: