回答:
試してください:
service --status-all |& grep network
コマンドラインアプリケーションは、標準出力(stdout)および標準エラー(stderr)として知られる2つのテキストストリームに出力できます。デフォルトでは、端末は両方の出力をまったく同じように表示します。
stdoutには番号1が与えられ、stderrには番号2が与えられます。デフォルトでは、リダイレクト演算子は、など>で|あり<、stdoutにのみ適用されます。
|&stdoutとstderrの両方を右の標準入力(stdin)ストリームのプロセスにパイプgrepします。これにより、期待どおりに動作します。
service --status-allここでstderrに出力する理由はわかりませんが、一般に、stdoutが無音の場合でもエラーが表示されるため、独立したstderrストリームを持つことは非常に便利です。
標準エラーストリーム(2)を標準出力(1)にリダイレクトする必要があります。
service --status-all 2>&1 | grep network
オペレーター>は通常、ファイルにリダイレクトします(例:)2>/tmp/file。descriptorを使用して他のストリームにリダイレクトするには、その前に&(文字間にスペースがないことに注意してください)必要があります。