* nixシステムでstdout / stderrをパイプするときに色(制御文字)が表示されないのはなぜですか?

* nixシステムでstdout / stderrをパイプするときに色(制御文字)が表示されないのはなぜですか?

* nixシステムでstdout / stderrをパイプするときに色(制御文字)が表示されないのはなぜですか?

私がするとき:

foo | bar

色分けされた文字列(制御文字を含む)を標準出力に書き込むと、列にはfoo表示されません。表示する方法はありますか?

ベストアンサー1

* nixシステムでstdout / stderrをパイプするときに色(制御文字)が表示されないのはなぜですか?

解説者として荷物、彼らは現れた。

ただし、一部のプログラム(おそらくほとんど)は次のような結果を出力します。ANSIエスケープコードs) 以下を使用して、出力がttyでないかどうかを検出します。イサティ(3)例えばisatty(STDOUT_FILENO);パイプから脱出したくないときにそれを処理するのは痛いので、これは良い機能です。

これを強制する方法を文書化したいくつかのプログラムがあります。LS(1)持つ--color=always

したがって、関連コマンドのドキュメントをお読みください。

おすすめ記事