我在bash终端中做了类似下面的事情
( some_command ) >/dev/null 2>/dev/null
然而我仍然印有一些东西。这里some_command
运行一个私有的命令行程序给我的组织。当我重定向STDOUT
和STDERR
时,子shell如何设法将某些内容打印到控制台?
答案 0 :(得分:6)
一种可能性是该程序特别粗鲁,并且直接打印到controlling terminal ,这将绕过所有重定向。
例如:
$ ( echo "can't touch this" > /dev/tty ) >/dev/null 2>/dev/null
can't touch this
(/dev/tty
指的是当前进程的控制终端。)