* nixシステムでstdout / stderrをパイプするときに色(制御文字)が表示されないのはなぜですか?
私がするとき:
foo | bar
色分けされた文字列(制御文字を含む)を標準出力に書き込むと、列にはfoo
表示されません。表示する方法はありますか?
答え1
* nixシステムでstdout / stderrをパイプするときに色(制御文字)が表示されないのはなぜですか?
解説者として荷物、彼らは現れた。
ただし、一部のプログラム(おそらくほとんど)は次のような結果を出力します。ANSIエスケープコードs) 以下を使用して、出力がttyでないかどうかを検出します。イサティ(3)例えばisatty(STDOUT_FILENO)
;パイプから脱出したくないときにそれを処理するのは痛いので、これは良い機能です。
これを強制する方法を文書化したいくつかのプログラムがあります。LS(1)持つ--color=always
したがって、関連コマンドのドキュメントをお読みください。