Eu gostaria de poder interromper o relógio se a execução do comando for bem-sucedida. Na verdade, estou procurando um comportamento inverso ao oferecido via --errexit
. Conforme o homem:
-e
,--errexit
Congele atualizações em caso de erro de comando e saia após pressionar uma tecla.
Exemplo
O comando:
ping -c 3 www.google.com
Falha devido à conexão irregular*. Eu posso executar novamente da seguinte maneira para ver quando a conexão está de volta:
watch -n 1 'ping -c 3 www.google.com'
Eu gostaria de parar o relógio se for ping
executado sem erro.
* Não estou procurando uma maneira melhor de verificar a conectividade. Os ping
exemplos vêm do uso de uma conexão de celular quando no trem com o celular perdendo o sinal de vez em quando.
Como você começaria a receber pings assim que sua conexão de rede fosse restaurada, inicie o
watch
depois que sua conexão cair e diga para sair assim que a saída for alterada:Assim que você começar a receber pongs, o relógio será encerrado.