107.07.18 簡單設定截止時間執行指令

情境:在設定的時間要去 clone (有點像是禁止遲交)
簡單解法:利用 sleep 跟 date 兩個 system call

舉例:在 2018 年 7 月 17 日 23:59:59 執行 ls

上程式碼:(test.sh)
deadline=$(date -d"2018-07-17 23:59:59" +%s)
now=$(date +%s)
during=$(($deadline-$now))
sleep $during;
ls

執行:
$ bash test.sh

把 ls 換成想要執行的指令即可,e.g.  git clone ....
執行後就等時間到吧
注意不要關掉終端機嘿 OuO



參考資料:
how to convert a date HH: MM: SS in second with bash?
Argument string to integer in bash

沒有留言:

張貼留言

^ Top