Bash比较输出而不是命令
发布时间:2020-12-16 01:23:34 所属栏目:安全 来源:网络整理
导读:尝试创建一个脚本来读取一个远程文件,并检查md5校验和并警告如果不匹配,但收到错误我不明白. #!/bin/shREMOTEMD5=$(ssh user@host 'md5sum file.txt')LOCALMD5=$(md5sum 'file.txt')if [$LOCALMD5 !== $REMOTEMD5]then echo "all OK"else echo -e "no match,
尝试创建一个脚本来读取一个远程文件,并检查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 这返回第4行:[6135222a12f06b2dfce6a5c1b736891e:command not found 我试过在$LOCALMD5周围使用“或”,但似乎没有能够比较输出,我做错了什么?
尝试;
if [ "$LOCALMD5" == "$REMOTEMD5" ] 这应该更好. 编辑:我认为你的代码中有==和!=反转. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |