0
的输出我有脚本这样的事情如何刷新DIFF
diff abc def
if [ "$?" -eq "0" ]; then
make modules_install
enif
如何避免差异
的输出中,如果我做diff abc def 2 >/dev/null
话还是输出中显示。
有什么想法?
的输出我有脚本这样的事情如何刷新DIFF
diff abc def
if [ "$?" -eq "0" ]; then
make modules_install
enif
如何避免差异
的输出中,如果我做diff abc def 2 >/dev/null
话还是输出中显示。
有什么想法?
您必须重定向stdout和stderr。您可以使用以下方法:
diff abc def > /dev/null 2>&1 && make modules_install
如果你需要做多件事情,当文件是相同的,那么if语句会更好:
if diff abc def > /dev/null 2>&1; then
make modules_install
fi
注:如果退出代码的命令是0,它在shell中的测试被认为是正确的。
这很简单,只需要执行diff abc def>/dev/null – user79292 2012-02-17 18:50:32
您不应该使用diff来决定是否要运行make。 'make'命令旨在测试最终构建目标的所有组件,以查看组件是否是最新的。如果有新的话,make会控制重建使最终对象保持最新所需的最小代码集。你使用makefile来告诉make什么是依赖关系。看看gmake文档。祝你好运。 – shellter 2012-02-19 03:35:47