A estrutura básica de controle em qualquer tipo de linguagem de programação que requer looping indefinido é while
loop.
while true ; do /path/to/script.sh ; if [ $? -ne 0 ] ; then continue ; else break ; fi ; done
Mais formatação legível seria:
while true
do
/path/to/script.sh # Ensure your script actually outputs exit status
if [ $? -ne 0 ] ; then
continue # if exit status not 0 ( not success ) , repeat
else
break # if successful - exit
fi
done
É claro que você precisa garantir que seu script realmente tenha um status de retorno igual a 0 no sucesso. Você pode ou não querer usar o caminho completo ou o operador ./
para executar o script no diretório atual ou especificar o interpretador como python /my/python/script.py
Se necessário, você pode adicionar um atraso antes do início da próxima iteração. Para fazer isso, você pode colocar sleep 0.250
logo após fi
, mas antes de done