3

私はbashターミナルで次のようなことをしました

( some_command ) >/dev/null 2>/dev/null

それでも、私はまだ何かを印刷しました。ここでsome_commandは、私の組織専用のコマンドライン プログラムを実行します。STDOUTと の両方をリダイレクトしている間に、サブシェルはどのようにしてコンソールに何かを出力できたのSTDERRでしょうか?

4

1 に答える 1

6

1つの可能性は、プログラムが特に失礼であり、制御端末 に直接印刷していることです。これにより、すべてのリダイレクトが回避されます。

例えば:

$ ( echo "can't touch this" > /dev/tty ) >/dev/null 2>/dev/null
can't touch this

/dev/tty現在のプロセスの制御端末を指します。)

于 2013-03-01T05:35:59.097 に答える