次の条件がわかりませんif
。私はこれが/dev/null 2 > &1
エラーストリームとして出力を送信していることを知っています(私が間違っている場合は訂正してください)。しかし、if
特定の状態にあるときは理解できません。
if /usr/bin/egrep -e "$param1" -e "$param2" -e "param3" ${file} > /dev/null 2>&1
then
bla bla
答え1
if
grepコマンドの出力ではなく、grepの終了コード(基準に一致する行を見つけたかどうか)にのみ興味があるので、すべての出力を/ dev / nullにリダイレクトします。これは行く場所がないことを意味します。
このリダイレクトは2つの部分として機能します。
> /dev/null
egrep が通常ラインを出力する場所に標準出力をリダイレクトします。2>&1
また、エラー出力を標準出力と同じ場所である/ dev / nullにリダイレクトします。これはegrepのエラーメッセージを抑制するためです。