Execute um comando a cada minuto para sempre usando 'data'

Execute um comando a cada minuto para sempre usando 'data'

Estou procurando uma maneira ( bashscript ou outra) de executar um comando a cada minuto usando date- estive procurando soluções semelhantes, mas todas sugerem ou cronmas watcho que eu quero fazer é executar o comando de acordo com o saída de datepara que eu pudesse executar o comando quando o ponteiro dos segundos atingir 30, exemplo 12:50:30 12:51:30 12:52:30 12:53:30 ... qualquer ajuda será muito apreciada.

Responder1

#!/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

editar

como você queria ver date +%S stdout e verificar if = 30 e executar alguma coisa!

#!/bin/bash
foo(){
  echo yay
  #add commands here
}
while true
do
  date +%S | grep '30' && foo 
  sleep 1
done

ou

#!/bin/bash
foo(){
  echo yay
  #add commands here
}
while true
do
  date +%S
  [[ $(date +%S) -eq 30 ]] && foo 
  sleep 1
done

informação relacionada