stderr出力を異なる色で表示するように端末を構成できますか


11

プロセスからの出力とstderrは異なる色で出力を自動的に表示するようにOS Xで端末を構成することは可能stdoutですか?

それとも、プロセスがカラー出力を出力している場合にのみ可能ですか?


悲しいことに、2019年の時点で、正解はこれはもう不可能です。hilitestderredはどちらもメンテナンスされておらず、壊れているため、回避策を探しています。
ソリン

@sorin私はhiliteHomebrewを介してインストールしたばかりですが、期待どおりに機能します(実際には、驚くに値しませんが、非常に基本的な機能を使用してタスクを実行します)。
nohillside

@sorin stderredは、ダイナミックライブラリのロード元の場所を変更するように見えるため、機能しなくなる可能性があります。これは、SIP nowaydaysによって防止される可能性があります
nohillside

回答:


9

簡単な解決策はありませんが、これを行うために利用可能な回避策が少なくともいくつかあります。

  • hiliteをインストールするには、単一のCファイルをビルドするhilite.cか(この場合)、またはbrew install hilitehomebrewをシステムにインストールして)を使用します。として使用してくださいhilite <command>

  • serverfaultでこの回答のコマンドを使用して(commandスクリプト/コマンドの名前に置き換えて)、stderrを赤で表示することができます(他の色については、ANSIエスケープシーケンスリストを参照し、それに応じて以下のコマンドの31mを変更してください)。

    command 2> >(while read line; do echo -e "\e[01;31m$line\e[0m" >&2; done)
  • stderredを使用して、stderrを赤に着色できます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.