- 此问题在此处已有答案**:
How to avoid printing an error in the console in a BASH script when executing a command?(1个答案)
16小时前关门了。
这篇文章是编辑和提交审查2小时前。
我无法在下面的简单代码中将预期错误重定向到&〉/dev/null。
xml=`ls ./XML_30fps/*.xml ./XML_24fps/*xml`
预期的错误是由于其中一个文件夹可能为空,因此错误将是"没有这样的文件或目录"。我不希望此错误显示给用户。
我可以通过分解这行代码来解决这个问题,但我想知道在这种情况下,是否有一个简单的方法可以用单行代码重定向到null。
x一个一个一个一个x一个一个二个x
这个链接How to avoid printing an error in the console in a BASH script when executing a command?有点触及这一点,但它不像我的问题和这里给出的答案那样清楚。
2条答案
按热度按时间55ooxyrt1#
在subshell中重定向它:
或者
fdbelqdn2#
用一个不写stderr的替代命令替换你的命令怎么样?
在上面的代码中,我们使用
find
来定位子文件夹中的所有*.xml
文件,我们设置了一个保护条件,这样我们就不会在不存在的文件夹中运行find
。注意到
XML_24fps
和XML_30fps
非常相似,区别仅在于24
和30
,我们可以使用{24,30}
展开式重构上述内容,如下所示: