バックグラウンドでコマンドを実行し、画面に印刷せずにファイルに出力を印刷する

バックグラウンドでコマンドを実行し、画面に印刷せずにファイルに出力を印刷する

バックグラウンドで何かを実行し、ファイルとして印刷したいとしましょう。ただし、次の操作を行っても画面に印刷されます。理由を知っている人はいますか?私は何をすべきですか?ありがとうございます。

./mc.x & 2>&1 > test.out  
wait

ベストアンサー1

次のように背景を最後に配置します。

./mc.x 2>&1 > test.out &

注: 2>&1 を使用すると、stderr が stdout のある位置 (つまり、ディスプレイととにかく移動する位置) に移動するため、リダイレクトは効果がありません。その後、stdoutはtest.outファイルに移動します。順序を変更すると、すべてのstderr + stdoutがtest.outファイルに移動します。

おすすめ記事