パッケージマネージャなどのコマンドラインツールは、何をstdout / stderrに印刷する必要がありますか?

パッケージマネージャなどのコマンドラインツールは、何をstdout / stderrに印刷する必要がありますか?

私は利用可能なパッケージマネージャを使用して新しくインストールされたオペレーティングシステムを構成するプロジェクトを進めています。パッケージマネージャのいくつかの例は、aptUbuntu、brewOSX brew cask、またはpacmanArch用です。

何が起こったかに応じて、stdoutまたはstderrにカラーメッセージを表示したいと思います。どのタイプの色とコンテンツを使用する必要があり、出力をどこに送信するのかについてのガイドラインを探しています。

しばらく悩んだ後、次のような結論を下しました。

  • ステータスメッセージは青色でも無色でも、-vフラグが指定されている場合にのみ標準出力として出力されます。--verbose

    前任者:

    -* installing commandline-tools
    
  • 成功メッセージは緑色で表示され、デフォルトでstdoutに印刷されます(または詳細なフラグが指定されている場合はわかりません)。

    前任者:

    -* installed commandline-tools
    
  • 失敗メッセージは赤で表示され、デフォルトでstderrに印刷されます。

    前任者:

    -* failed to install commandline-tools
    

考えと意見は歓迎しますが、いくつかの明確なソース/指針にも感謝します。

ベストアンサー1

このスニペットを使用すると、目的の色を取得できます。

for i in {0..7};
do
    tput setaf $i // color next echo command
    echo "tput setaf $i"
    tput sgr0     // reset normal colors
done

私はお勧めしますいいえ生のANSIエスケープコードを使用してください。

おすすめ記事