stdoutに送信されたテキストがstderrのテキストに置き換えられるように、コマンド出力をリダイレクトできますか?
$ ./script
this line is redirected to stdout
this line is redirected to stderr
$ ./script (insert redirections here)
this line is redirected to stderr
私は利用できることを知っていますが、1>/dev/null
これを行うためにテキストをstderrからstdoutにリダイレクトする方法があるかどうか疑問に思います。
答え1
次のことができます。
./script 2>&1 1>/dev/null
これは、fd 2をfd 1が指すもの(つまりstdout
)にリダイレクトし、次にfd 1をにリダイレクトします/dev/null
。 2番目のリダイレクトは最初のリダイレクトに影響を与えず、fd 2の出力はに送信されますstdout
。
しかし、順序は重要です。これで:
./script 1>/dev/null 2>&1
すべての出力はに送信されます/dev/null
。