Saya perlu memeriksa waktu saat ini dan membatalkan skrip jika itu bukan waktu yang tepat untuk menjalankannya. Juga, jika ada orang lain yang menjalankannya, itu harus dibatalkan.
Sebagai contoh: Saya perlu skrip saya untuk hanya berjalan jika dimulai antara 10 dan 2 pagi (jendela 4 jam).
Saat ini saya sedang melakukan hal berikut. Meluangkan waktu dengan date +%k%M
dan membandingkan dengan angka kode keras
#!/bin/sh
currTime=`date +%k%M`
check_time_to_run()
{
tempTime=$1
if [ $tempTime -gt 200 -a $tempTime -lt 2200 ]; then
echo "Time is between 2 AM and 10 PM. Aborting."
exit 1
else
echo "Time is after 10 PM and before 2 AM. Running normally."
fi
}
check_time_to_run $currentTime
Saya ingin tahu apakah ada metode lain yang efisien sehubungan dengan perbandingan waktu dalam sh
atau bash
?
currTime=$(date +%s); lower=$(date +%s --date="2:00"); upper=$(date +%s --date="22:00"); if [$currTime -gt $lower -a $currTime -lt $upper]; then
...
date +%s
.