How to check if today is a weekend using bash or even perl?
I want to prevent certain programs to run on a weekend.
You can use something like:
if [[ $(date +%u) -gt 5 ]]; then echo weekend; fi
date +%u
gives you the day of the week from Monday (1) through to Sunday (7). If it's greater than 5 (Saturday is 6 and Sunday is 7), then it's the weekend.
So you could put something like this at the top of your script:
if [[ $(date +%u) -gt 5 ]]; then echo 'Sorry, you cannot run this program on the weekend.' exit fi
Or the more succinct:
[[ $(date +%u) -gt 5 ]] && { echo "Weekend, not running"; exit; }
To check if it's a weekday, use the opposite sense (< 6
rather than > 5
):
$(date +%u) -lt 6
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With