3
我不喜歡的東西在bash終端我重定向了stdout和stderr,爲什麼我仍然得到一些輸出?
(some_command) >/dev/null 2>/dev/null
但我仍然有一些印刷以下。這裏some_command
運行我的組織專用的命令行程序。子shell是如何將控制檯打印到控制檯的,而我重定向了STDOUT
和STDERR
?
我不喜歡的東西在bash終端我重定向了stdout和stderr,爲什麼我仍然得到一些輸出?
(some_command) >/dev/null 2>/dev/null
但我仍然有一些印刷以下。這裏some_command
運行我的組織專用的命令行程序。子shell是如何將控制檯打印到控制檯的,而我重定向了STDOUT
和STDERR
?
一種可能性是該程序特別粗魯,並且直接打印到controlling terminal,這將規避所有重定向。
例如:
$ (echo "can't touch this" > /dev/tty) >/dev/null 2>/dev/null
can't touch this
(/dev/tty
指當前進程的控制終端。)
不一定粗魯;有時這是必要的(例如,考慮交互式密碼提示)。 – tripleee 2013-03-01 05:45:53