Sleep until a specific time/date

前端 未结 18 2113
栀梦
栀梦 2020-11-28 21:13

I want my bash script to sleep until a specific time. So, I want a command like \"sleep\" which takes no interval but an end time and sleeps until then.

The \"at\"-d

18条回答
  •  死守一世寂寞
    2020-11-28 21:28

    To extend the main answer, here is some valid examples regarding the date string manipulation:

    sleep $(($(date -f - +%s- <<< $'+3 seconds\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'3 seconds\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'3 second\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'+2 minute\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'tomorrow\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'tomorrow 21:30\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'3 weeks\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'3 week\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'next Friday 09:00\nnow')0)) && ls
    
    sleep $(($(date -f - +%s- <<< $'2027-01-01 00:00:01 UTC +5 hours\nnow')0)) && ls
    

提交回复
热议问题