13

ターミナルから実行すると、色付けされた結果を出力する「git diff」などのコマンドがあります。

ここで、CLI php スクリプトからそのコマンドを呼び出して、色付けされた結果をコンソールに表示したいと思います。exec()、system()、passthru() を試してみましたが、いずれの場合も、出力はプレーンな白黒テキストに変換されました。

標準結果の色を保持する方法はありますか? そうでない場合、誰かがこの情報が失われる理由を知っていますか?

4

1 に答える 1

7

おそらく、実行しているコマンドは、出力が端末に送信されているかどうかを確認しており、そうでない場合は色付けしていません。通常、それを強制する方法がありますが、それはコマンド自体に固有のものになります。の場合はgit diffご指定いただけます--color=always

于 2012-04-15T05:39:07.993 に答える