This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: How to repeat a bash shell script until success
On 2017-07-14 11:07, Kaz Kylheku wrote:
> 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
Has everyone forgotten there is also an until loop, supported by at least sh,
dash, bash, [m]ksh:
until prog ...; do sleep 60; done
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
--
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