running a DOS batch file from a shell script - script doesn't wait for batch file to complete before continuing

Andy Sun asun@sayeh.ca
Fri Dec 10 02:57:00 GMT 2004


Hi,

I have a shell script (#!/bin/sh) that runs a DOS batch file. During the 
execution of the shell script,
it runs the DOS batch file (Pro/ENGINEER's PRO_BATCH.BAT to generate a plot 
file) but the
script does not appear to wait for the DOS batch file to finish first 
before continuing.

I tried running the DOS batch file using another shell (/bin/sh -c 
file.bat) within the script,
use "wait" right after the batch file line to wait for the process to 
complete first but none of
them seem to work. I've also searched the web for answers with no avail. It 
looks like
once the DOS batch file starts to execute, it is not possible to exercise 
job control on the
cygwin unix side. The versions of my Cygwin and Windows are:

Cygwin version: CYGWIN_NT-5.1 1.5.9 (0.112/4/2)
OS version: Windows XP Professional Version 2002 w/ Service Pack 1

My last resort is to exercise file locking, i.e. create a stub file at the 
beginning of the DOS
batch file and remove it at the end, and have a while loop in the shell 
script detecting the
removal of the stub file before continuing. However, I want to find out if 
there is anything
else I either did wrong or not aware of (frankly, I never imagine that I 
will be running a
Unix shell script in a Windows environment to call up a DOS batch file one 
day!). Any
info and pointer will be much appreciated.

Andy


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



More information about the Cygwin mailing list