尝试创建一个脚本来读取远程文件,并检查md5校验和,如果不匹配,则发出警报,但仍收到一个我无法理解的错误。

#!/bin/sh
REMOTEMD5=$(ssh user@host 'md5sum file.txt')
LOCALMD5=$(md5sum 'file.txt')
if [$LOCALMD5 !== $REMOTEMD5]
then
  echo "all OK"
else
  echo -e "no match, Local:"$LOCALMD5"\nRemote:"$REMOTEMD5
fi

返回line 4: [6135222a12f06b2dfce6a5c1b736891e: command not found
我试过在$LOCALMD5周围使用'或',但似乎无法用它来比较输出。我做错什么了?
谢谢

最佳答案

尝试;

if [ "$LOCALMD5" == "$REMOTEMD5" ]

这样会更好。
编辑:我想你得到了!=在代码中反转。

关于bash - bash 比较输出而不是命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8793558/

10-16 20:29