我正在尋找一種方法(bash
腳本或其他)來使命令每分鐘運行一次date
- 我一直在尋找類似的解決方案,但他們都建議要么cron
或watch
但我想做的是根據的輸出,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