0
私はstdoutの答えとstderrのエラーを返すプログラムを持っています。 残念ながら、プログラムは正常終了してもstderrにテキストを出力して終了します。コマンド展開からstderrをパイプに取り込みます。
コマンド拡張を使用してプログラム出力を変数に格納したいとします。ans = $(prog)2> & 1 | grep -v success
これは機能しません。 2> & 1を括弧内に入れようとしましたが、私は$ ansを疑いましたので、 は成功のテキストを取得します。
アイデア?あなたが唯一の標準エラーストリームから「成功」をフィルタリングする場合
ans=$(prog 2>&1 | grep -v success)
は、あなたがこのようなものを使用することができます:
これはおそらく私の場合、うまくいくでしょう。しかし、progの結果が "成功"というテキストを返す場合、それは機能しません。 – user1165758
あなたは、可能なプログラムの出力と、あなたが 'ans'変数に入れたいものについて何も言わなかったのです。エラーストリームから '成功'単語を含むすべての行をフィルタリングするだけですか? –
答えを更新しました。あなたの質問が枯渇した場合、その答えを受け入れることができます。 –