stdout に出力するプログラムがあり、ファイルにパイプするときに Bash スクリプトでその出力を無音にしたいと考えています。
たとえば、プログラムを実行すると次のように出力されます。
% myprogram
% WELCOME TO MY PROGRAM
% Done.
次のスクリプトでは、ターミナルに何も出力しないようにします。
#!/bin/bash
myprogram > sample.s
ベストアンサー1
stderr にも出力される場合は、それを黙らせたいでしょう。ファイル記述子 2 をリダイレクトすることでそれを行うことができます。
# Send stdout to out.log, stderr to err.log
myprogram > out.log 2> err.log
# Send both stdout and stderr to out.log
myprogram &> out.log # New bash syntax
myprogram > out.log 2>&1 # Older sh syntax
# Log output, hide errors.
myprogram > out.log 2> /dev/null