Bashスクリプト:3月または10月の最後の日曜日の場合は停止/中断しますか?

Bashスクリプト:3月または10月の最後の日曜日の場合は停止/中断しますか?

次の場合にbashスクリプトを停止/中断する方法:

  • 3月の最後の日曜日ですか?または
  • 10月の最後の日曜日はいつですか?

ここで両方を確認する必要があり、その場合はbashスクリプトを停止/中断する必要があります。

よろしくお願いします。

編集:そうかもしれません。

weekday=$(date +%a)
day=$(date +%d)
month=$(date +%m)

if [[ ( $month == 03 || $month == 10 ) && $weekday = "Sun" && $day > 24 ]]
then
 exit 1
fi

答え1

スクリプトがshで動作するようにするには(cronでも動作します)、次の手順を実行します。

#!/bin/sh

eval $(date +'m=%m d=%d dow=%w')

if ( [ "$m" -eq 03 ] || [ "$m" -eq 10 ] ) && [ "$dow" -eq 0 ] && [ "$d" -gt 24 ]
then
    exit 1
fi

関連情報