linux bash关掉stdout和stderr

linux bash关掉stdout和stderr

linux的命令行执行一个命令的时候,会输出一些东西在终端,输出的东西有2类,一类是stdout(标准输出),另一类是stderr(标准错误输出),其作用是输出一些必要的信息和错误的信息,有时候,我们并不想看到这些东西,那么怎么做呢?

有两种方法,

1. 重定向stdout和stderr到 “&-”

2. 重定向stderr到stdout,然后将stdout输出到/dev/null

 

“&-”和”/dev/null“是2个特殊的输出设备,就是空,也就是输出到这2个设备就相当于直接扔掉了。

下面看看ffplay来播放音乐,

1. 重定向stdout和stderr到 “&-”

    $ffplay my.mp3 1>&- 2&-

2. 重定向stderr到stdout,然后将stdout输出到/dev/null

   $ffplay my.mp3 > /dev/null 2>&1

 

2代表的是stderr,1代表的是stdout

如果要任务放到后台执行,那么最后面再加上一个 ”&“

  $ffplay my.mp3 1>&- 2&- &

  $ffplay my.mp3 > /dev/null 2>&1 &

 

 

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章转载自:IT夜班车,否则按侵权处理.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示