【发布时间】:2015-12-26 18:38:04
【问题描述】:
在一本书中,我正在阅读下面一行
ls "$1" 2>/dev/null | grep "$1" 2>/dev/null 1>&2
当用脚本编写时 - 书中说“执行命令以检查作为命令行参数传递的文件是否存在。标准错误被重定向到/dev/null(unix黑洞) ,标准输出通过1>&2重定向到标准错误。因此,该命令不会产生任何输出或错误消息;它唯一的目的是设置命令返回状态值$?。" p>
但是运行代码:
if [ $? -eq 0 ]
否则我会不知道吗,我已经尝试过在开始时不使用 cmd,并且在不影响结果的情况下使用它。我相信作者会出于某种目的而写作。我想不通是什么?
【问题讨论】:
-
你能在书名中添加更多上下文吗?
-
截图有用吗?
-
请立即查看。有帮助吗?
-
这里有问题吗?第一行不产生任何输出,只是设置返回状态。第二行检查返回状态,但不完整,也没有输出,因此您看不到该检查的任何可见效果。
-
@ChrisDodd 检查更新