从 crontab 运行时如果条件不起作用

从 crontab 运行时如果条件不起作用

我的要求是,如果“日期”与“file.txt”中存在的日期列表匹配,那么它应该说成功“日期已匹配”。

#!/bin/bash

Date="Jun212018"

for i in `cat /home/file.txt`
do

if [ $i == $VT ]
then
echo "Date has Matched"
fi

done

答案1

您的脚本VT未定义(除非它在环境中设置,但未使用Date)。

一个更简单的脚本:

#!/bin/sh

if grep -q -Fx 'Jun212018' /home/file.txt; then
    echo 'Date has Matched'
fi

如果日期Jun212018与文件中的单行完全匹配,则打印字符串。


从下面的评论来看,这似乎是您想要做的:

#!/bin/sh

today=$( date +%b%d%Y )

if grep -q -Fx "$today" /home/file.txt; then
    echo 'date has matched' >/home/otherfile
fi

相关内容