Unix 如何刷新diff的输出
我有这样的脚本Unix 如何刷新diff的输出,unix,diff,ksh,Unix,Diff,Ksh,我有这样的脚本 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
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中的测试将被视为true。只需执行diff abc def>/dev/null即可。您不需要使用diff来决定是否要运行make。
make
命令用于测试最终构建目标的所有组件,以查看这些组件是否是最新的。如果有新的,make将控制重建使最终对象更新所需的最小代码集。您必须使用makefile来告诉make哪些是依赖项。看看gmake博士。祝你好运