Выполнять команду каждую минуту вечно, используя «date»

Выполнять команду каждую минуту вечно, используя «date»

Я ищу способ ( 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

Связанный контент