用bash比较日期

时间:2014-11-05 07:50:47

标签: bash unix

我需要收集用户输入以确定日期,然后将其与今天的日期进行比较。

这就是我所拥有的:

echo "Enter Current Date (YYMMDD):"
read date
current_date= date +"%y%m%d"
if [ "$date" == "$current_date" ]; then
        echo "match"
   else
        echo "no match"
fi  

它打印不匹配的时间是匹配且不匹配。

1 个答案:

答案 0 :(得分:1)

试试这个:

echo "Enter Current Date (YYMMDD):"
read date
current_date=`date +"%y%m%d"`

if [ "$date" = "$current_date" ]; then
        echo "match"
   else
        echo "no match"
fi

更改在此行:

current_date=`date +"%y%m%d"`

原因:在您的代码中,您使用的是current_date= date +"%y%m%d"。虽然您打算使用date命令生成当前日期,但此行的行为有所不同(等同于current_date =; date +"%y%m%d&#34 ;;并且current_date为空。结果可以echo $current_date验证这一点。通过提供更正,我们正在执行date命令并将输出保存到current_date变量。希望现在很清楚。我不知道如何以更好的方式解释。 .. :-)

相关问题