重定向到dev / null

时间:2018-10-10 11:29:25

标签: linux standard-error

有人可以告诉我为什么我不能将标准错误重定向到/ dev / null吗?

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

输出

  

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

2 个答案:

答案 0 :(得分:0)

我相信您正在寻找的是 此类命令中的大于号(>)将程序的输出重定向到某处。在这种情况下,某些内容将被重定向到/ 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是空设备,它将接收您想要的任何输入并将其丢弃。它可以用来抑制任何输出。

答案 1 :(得分:0)

似乎您的shell不会解释shell表达式“ 2>”,而是将此参数传递给find命令

  

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

这里的“ 2”似乎是通过find作为表达式来分析的。 我无法在此处使用shell复制代码,但是如果您删除var intent = new Intent(this, typeof(MainActivity)); intent.PutExtra("0", player); this.StartActivity(intent); player = MediaPlayer.Create(Application.Context, RingtoneManager.GetDefaultUri(RingtoneType.Ringtone)); 之间的空格怎么办,那么2>就是空白吗?