How to repeat a bash shell script until success

Kaz Kylheku 920-082-4242@kylheku.com
Fri Jul 14 17:34:00 GMT 2017


On 12.07.2017 08:35, Bryan Dunphy wrote:
> I have a shell script, originally created for Mac OS X. that waits for
> an external drive to be mounted (by testing an “ls” of the volume’s
> root directory for success) then runs an “rsync”
>  command. How do I get the script to be run repeatedly until
> successful exit under Cygwin?

Multi-line

   while ! program arg1 arg2 ...
   do
     :   # explicit null statement: syntactically mandatory!
   done

one-liner: semicolon between program and "do",
semicolon between : statement and "done":

   while ! program arg1 arg2 ... ; do : ; done

The space between ! and the command is required.

I would throw a sleep in there, not to create a CPU-intensive
busy loop:

   while ! program args ... ; do
     sleep 1
   done


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list