次の1分間にスクリプトを実行するために、sleep
に伝えたい 次の1分までスリープするコマンド。どうすればこれを行うことができますか?
承認された回答:
秒単位で日付を尋ねる:date +%s
そして、60で分割のリマインダーを計算します(モジュロ:%
)。 60からモジュロを引いたものを計算すると、次の1分までの残りの秒数が得られます。これを変更して、次の1時間まで待つことができます(60から3600に変更します)。
sleep $((60 - $(date +%s) % 60)) &&
<yourscript>
次の1分まで寝るだけで、(モジュロなしで)短くすることもできます:
sleep $((60 - $(date +%S) )) &&
<yourscript>
また、この質問と回答に注意してください:特定の時間の次の発生まで眠ります。