I would like to define an alias that performs a command every x seconds until an underlying process gives a designated output. Then, the command should stop being run.
Is this possible, and if so, how?
Help is much appreciated.
I'm almost satisfied with
alias test1='while true; do <command>; sleep 1; done'
except I have to manually stop it, and can therefore not make it execute a new command once finished.
The reason for the question:
Dropbox synchronizes poorly at work. Sometimes, I have to restart it. I would like to do that using a command which also tells when the sync is done, e.g. by
alias drop='dropbox stop && dropbox start && while true; do dropbox status; sleep 1; done'
I would like the repetition stopped when Dropbox outputs 'Up to date'.