使用“日期”每分鐘執行一次命令

使用“日期”每分鐘執行一次命令

我正在尋找一種方法(bash腳本或其他)來使命令每分鐘運行一次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

編輯

如您想查看 date +%S stdout 並檢查 if = 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

相關內容