经常会遇到这种情况,shell窗口不断的打印出warn或者warning的信息,把我们想看的东西都冲没了,烦的一批。
鄙人深受折磨多日,终于在下面的地址看到有人提供的对策。
https://github.com/ros/geometry2/issues/467
那就是在你的命令后面加上一句这个:
2>/dev/null
这样就解决了。
那么,这是为什么呢?
这里的2是linux预留的文件描述符,表示标准错误(stderr),其他的还有比如,0表示标准输入(stdin),1表示标准输出(stdout)。
这里的>是重定向符,他会把前面的东西输入到后面的文件里。
这里的/dev/null是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃。因此,null这个设备通常也被称为位桶(bit bucket)或黑洞。
所以这句话可以把标准错误(stderr)的输出重定向到/dev/null中,实质上是把他删除了。因为那些折磨我们的warning信息就属于标准错误,所以就看不到了。