私はbashターミナルで次のようなことをしました
( some_command ) >/dev/null 2>/dev/null
それでも、私はまだ何かを印刷しました。ここでsome_command
は、私の組織専用のコマンドライン プログラムを実行します。STDOUT
と の両方をリダイレクトしている間に、サブシェルはどのようにしてコンソールに何かを出力できたのSTDERR
でしょうか?
1つの可能性は、プログラムが特に失礼であり、制御端末 に直接印刷していることです。これにより、すべてのリダイレクトが回避されます。
例えば:
$ ( echo "can't touch this" > /dev/tty ) >/dev/null 2>/dev/null
can't touch this
(/dev/tty
現在のプロセスの制御端末を指します。)