有効期限の 4 週間前に、更新のリマインダー メールを送信したいと考えています。すべての詳細を配列に保存していますが、今日の日付が配列内の日付の 28 日前であるかどうかを確認する方法がわかりません。
これが私がこれまでに得たものです。日付チェックを行う方法についての助けをいただければ幸いです。
#!/bin/sh
adminemail="me@gmail.com"
account[1]="June 03|john@gmail.com|John"
account[2]="April 17|jane@gmail.com|Jane"
account[3]="November 29|sarah@gmail.com|Sarah"
for check in "${account[@]}"
do
renew=$(echo $check | cut -f1 -d\|)
email=$(echo $check | cut -f2 -d\|)
name=$(echo $check | cut -f3 -d\|)
# check date is 28 days away
if [ ?????? ]
then
subject="Your account is due for renewal"
text="
Dear $name,
Your account is due for renewal by $renew. blah blah blah"
echo "$text" | mail -s "$subject" $email -- -r $adminemail
fi
done