たとえば、使用情報が印刷される場合
command -?
Unix コマンドは stderr または stdout に移動します。なぜですか?ユーザーがオプションを間違えた場合は、同じ場所に移動する必要がありますか?
ベストアンサー1
標準出力に移動する必要があるため、次のように入力できます。
command --help | less
これもエディタがお勧めします。Gnuコーディング標準--help
。
一方、無効なオプションを使用する場合、または必須引数を省略したときに受け取られる使用法メッセージはエラーメッセージであり、パイプラインの次のコマンドに入力したくないのでstderrに送信する必要があります。
使用法メッセージは、コマンドを使用するときに予想される一般的なコマンド出力です--help
。したがって、標準出力に移動するか、less
他のコマンドにパイプすることができますgrep
。
と言うと、command --bogus-option | other-command
標準出力に送信するメッセージを使用したくありません。メッセージは予期しない出力なので、処理しないでくださいother-command
。また、出力が--help
数行以上の場合、使用エラーメッセージには出力の要約のみを含める必要があり、--help
ユーザーに--help
追加の詳細を求めるプロンプトを表示する必要があります。