Web lists-archives.com

Re: How to repeat a bash shell script until success




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