【发布时间】:2012-01-23 13:11:39
【问题描述】:
在 AIX 中,我尝试将 STDERR 和 STDOUT 都重定向到 /dev/null,但似乎没有发生重定向。可能是什么问题?
bash-3.2# /usr/sbin/lsgroup Test-Group | grep kbxb025 > /dev/null 2>&1
Group "Test-Group" does not exist.
【问题讨论】:
在 AIX 中,我尝试将 STDERR 和 STDOUT 都重定向到 /dev/null,但似乎没有发生重定向。可能是什么问题?
bash-3.2# /usr/sbin/lsgroup Test-Group | grep kbxb025 > /dev/null 2>&1
Group "Test-Group" does not exist.
【问题讨论】:
重定向指的是命令,而不是整个管道。 grep 的输出进入/dev/null,但不是lsgroup 的输出。要解决这些问题,请将管道分组到一个子外壳中:
( /usr/sbin/lsgroup Test-Group | grep kbxb025; ) > /dev/null 2>&1
【讨论】:
cmd &> /dev/null。见tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html