我遇到了一个恼人的问题:重定向 stderr 不起作用。我得到:
iptables: Chain already exists
我懒得检查链是否已经存在(毫无意义,如果链在下一步刷新之前存在,iptables 只会抛出一个错误,所以为什么要检查它是否已经存在)。为了忽略这个问题,我将 stderr 重定向到 /dev/null,但这似乎不起作用。
总体而言:我该如何:
检查 bash 中的命令使用了哪个流?这可能吗?
通过命令重定向所有流输出?
答案1
你的 iptables 命令是什么?
你可以看看 /proc/
<pid>
/fd/ !那里有“管道”条目,其中包含命令链中涉及的另一个命令的 pid根据TFM重定向bash中的所有流:
重定向标准输出和标准错误有两种格式:
&>word
和
>&word
在这两种格式中,第一种是首选。这在语义上等同于
>word 2>&1
谨
致问候
Stefan K.