wait-until

Repeatedly run a command until it's successful.

Wait until a server is up

sh wait-until ping -c1 example.com & echo server is up

Pause between runs of your command

sh wait-until --wait 1s ping -c1 example.com

Print the output of each run

``` ~$ wait-until --verbose ping -c1 example.com PING example.com (93.184.216.34) 56(84) bytes of data. 64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=1 ttl=49 time=106 ms

--- example.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 106.226/106.226/106.226/0.000 ms ~$ ```

Turn on logging

~$ RUST_LOG=wait_until wait-until true DEBUG wait_until > opt = Opt { verbose: false, wait: None, cmd: ["true"] } DEBUG wait_until > cmd = "true" DEBUG wait_until > status = ExitStatus(ExitStatus(0)) ~$

Notes

Better APIs exist for kernel objects like files - see inotifywait.