我正在尝试编写一个比较两个文件的shell脚本,如果之间没有差异,则表示成功,如果存在差异,则表明存在失败,并打印结果.这是我到目前为止所拥有的:
result = $(diff -u file1 file2)
if [ $result = "" ]; then
echo It works!
else
echo It does not work
echo $result
fi
Run Code Online (Sandbox Code Playgroud)
谁知道我做错了什么???
result=$(diff -u file1 file2)
if [ $? -eq 0 ]; then
echo "It works!"
else
echo "It does not work"
echo "$result"
fi
Run Code Online (Sandbox Code Playgroud)
建议:
=变量赋值中的" " 周围没有空格results$?运行后使用状态变量diff而不是字符串长度$result.$(),但@Dennis Williamson引用一些很好的理由来使用后者.谢谢丹尼斯!=" 更改为" "以-eq进行数字测试.