シェルでコマンドを実行し、その出力を解析する Perl スクリプトを作成しています。シェルとして、csh を使用するつもりです。私はこれで始めました
my $out = `cmd`
しかし、それは私も必要とするSTDERRをキャプチャしません。出力リダイレクトを指定して sh を実行しても何も起こらない
my $out = `sh -c "cmd 2>&1"`
STDERR ではなく、STDOUT のみをキャプチャします。
csh のファイルにリダイレクトしても機能しません
tcsh$ cmd >& logfile.log
まだ STDOUT のみをキャプチャします %)
実行しようとしているコマンドは実際には sh スクリプトであり、このスクリプトの一部のコマンドは STDERR に出力され、その出力をキャプチャしたいと考えています。STDERRを実行すると、sh -c "cmd 2>/dev/null"
実際には /dev/null に移動し、STDOUT のみが端末に出力されます。
誰でもこれで私を助けることができますか?