'date' を使用して 1 分ごとにコマンドを永久に実行する

'date' を使用して 1 分ごとにコマンドを永久に実行する

bash1 分ごとにコマンドを実行する方法 (スクリプトなど)を探していますdate- 同様の解決策を探していましたが、すべて または を提案していましたcronwatch、私がやりたいのは の出力に従ってコマンドを実行し、date秒針が 30 に達したときにコマンドを実行することです。たとえば、12:50:30、12:51:30、12:52:30、12:53:30 などです... ご協力いただければ幸いです。

答え1

#!/bin/bash
until [[ $(date +%S) -eq 30 ]]
do
  sleep 0.75
done

while true
do
  #command & 
  #here your cmds should be forked to background to avoid delaying
  date +%S
  sleep 30
done

編集

日付 +%S stdout を確認し、 = 30 かどうかを確認して何かを実行したいのです。

#!/bin/bash
foo(){
  echo yay
  #add commands here
}
while true
do
  date +%S | grep '30' && foo 
  sleep 1
done

または

#!/bin/bash
foo(){
  echo yay
  #add commands here
}
while true
do
  date +%S
  [[ $(date +%S) -eq 30 ]] && foo 
  sleep 1
done

関連情報