Я ищу способ ( 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
редактировать
как вы хотели увидеть дату +%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