我正在寻找一种方法(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