Linux 重定向到dev/null

Linux 重定向到dev/null,linux,standard-error,Linux,Standard Error,为什么我不能将标准错误重定向到/dev/null xxx:xxx 84> find / -name trans.log 2> /dev/null 输出 查找:路径必须位于表达式2之前 我相信你在寻找的是; 像这样的命令中的大于(>)会将程序的输出重定向到某个地方。在本例中,有些内容被重定向到/dev/null,有些内容被重定向到&1 xxx:xxx 84> find / -name trans.log >/dev/null 2>&1 如果不指定数字,则假

为什么我不能将标准错误重定向到/dev/null

xxx:xxx 84> find / -name trans.log 2> /dev/null
输出

查找:路径必须位于表达式2之前


我相信你在寻找的是; 像这样的命令中的大于(>)会将程序的输出重定向到某个地方。在本例中,有些内容被重定向到/dev/null,有些内容被重定向到&1

xxx:xxx 84> find / -name trans.log >/dev/null 2>&1
如果不指定数字,则假定标准输出流,但也可以重定向错误

> file redirects stdout to file
1> file redirects stdout to file
2> file redirects stderr to file
&> file redirects stdout and stderr to file

/dev/null
是一个空设备,它接受您想要的任何输入并将其丢弃。它可以用来抑制任何输出

您的shell似乎没有将“2>解释为shell表达式,但它将此参数传递给
find
命令:

查找:路径必须位于表达式2之前

这里的“2”似乎由
find
作为表达式进行分析


我无法用shell在这里复制,但请尝试删除
2>
/dev/null
之间的空格,因此我不会复制错误。命令中的某些空格字符可能是其他不可见字符。请创建一个十六进制转储,如下所示:echo“”| hextdump-是否介意使用“bash”shell?检查“ps$$”是否包含“bash”。(值得注意的是,csh不支持“2>”语法。)另请参见,(U&L.SE),(SO),(AskU)等。