2016年10月31日月曜日

標準エラー出力を pipe で受け取る

たまに標準出力エラーについて加工したくなることがある.
しかし,単純に|を使っても出力は受け取られないので,加工に使うコマンドの標準入力は空のままである.
次のようにすれば良い.
$ mage? 2>&1 >/dev/null | magemge!
これは,一度標準エラー出力をリダイレクトして,標準出力に投げなおしているだけである.つまり以下でも同じことができる.
$ mage? 2> /dev/stdout 1> /dev/null | magemage!