This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]