1

我一直在网上寻找,但没有一个“解决方案”奏效。我用命令的结果创建了 2 个变量,然后我尝试将它们与if进行比较,但它不起作用:(

#!/bin/bash

pre_result=`digest -a md5 -v $1`
md5=${pre_result:(-33)}

pre_result2=`digest -a md5 -v /respaldo/directorio`
md52=${pre_result2:(-33)}

if $md5 != $md52
then
    fecha=`date`
    `mkdir /respaldo/"$fecha"`
    `cp $1  /respaldo/"$fecha"/`
else
     echo ':('
fi

非常感谢您的关注,对糟糕的英语感到抱歉;)

4

1 回答 1

3

条件表达式需要在 bash 中的括号内。

所以你的 if 语句应该是:

if [[ $md5 != $md52 ]]
then
# do stuff
fi

这个链接有更多关于 bash 条件表达式的细节。

于 2012-05-16T22:25:35.297 回答