0 8 * * 6 test $((10#$(date +\%W)\%2)) -eq 1 && yourCommand
date +%W
: จำนวนสัปดาห์ของปีกับวันจันทร์เป็นวันแรกของสัปดาห์ในวันนี้สัปดาห์ที่ 39
10#$(date +%W)
: แปลงdate +W
ตัวเลขเป็นทศนิยมและหลีกเลี่ยงความสับสนในการแยกวิเคราะห์ฐานเชลล์
$((39%2))
: การดำเนินการแบบโมดูโล: ผลลัพธ์คือ 0 (เลขคู่สัปดาห์) หรือ 1 (หมายเลขสัปดาห์คี่) ผลลัพธ์สัปดาห์นี้คือ 1 สัปดาห์หน้า 0
test 1 -eq 1
: การทดสอบทางคณิตศาสตร์ (เท่ากับ) ในกรณีนี้ผลลัพธ์จะเป็นบูลีนจริง
&& yourCommand
: บูลีน AND: รันyourCommand
ต่อเมื่อผลลัพธ์ของคำสั่งก่อนหน้านี้เป็นบูลีนจริง
โปรดทราบว่าปีจะได้รับสองสัปดาห์ที่แปลก: 53 (ปีนี้) และ 1 (ปีหน้า)