Re: 1.3.15 on W2K: return codes, bash, cmd.exe

2002-12-06 Thread Stephen Powell
On Wed, 04 Dec 2002, [EMAIL PROTECTED] wrote:


[...]

 The .bat scripts do some minimal error checking and exit with
 exit /b 1 on error.

Try it without the /b, just exit 1.


With /b:
$ cat a.bat
exit /b 2
$ cmd /c a.bat ; echo rc=$?
C:\winnt\tempexit /b 2 
rc=0

Without /b:
$ cat b.bat
exit 2
$ cmd /c b.bat ; echo rc=$?
C:\winnt\tempexit 2 
rc=2

$ cmd /ver
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

-- 
Stephen Powell
[EMAIL PROTECTED]



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/




Re: 1.3.15 on W2K: return codes, bash, cmd.exe

2002-12-06 Thread Christopher Faylor
On Fri, Dec 06, 2002 at 10:19:30AM -0800, Shankar Unni wrote:
Stephen Powell wrote:

Try it without the /b, just exit 1.

Notice that she said she tried it, it works, but is not an option for 
her because they need to be invoked from DOS command shells as well, and 
she doesn't want the bat files to cause those shells to exit.

Angela is a former valued colleague of mine from Cygnus and Red Hat
days, so I offered some suggestions in private email.

It looks like if she changes the invocation of her .bat files from just
foo.bat to cmd /c call foo.bat then an exit /b in foo.bat will
work correctly.

I'm contemplating making a change to cygwin to cause this to be the
default.

cgf

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/




1.3.15 on W2K: return codes, bash, cmd.exe

2002-12-04 Thread Angela Marie Thomas
cygwin v1.3.15 on Windows 2000 Server, COMSPEC is cmd.exe 

I searched in the FAQ and list archives and could not find an
answer/solution to my question.

I'm currently supporting a very lame build system that contains bash
script that calls a series of .bat scripts.  The .bat scripts do some
minimal error checking and exit with exit /b 1 on error.  Unfortunately,
this exit code doesn't seem to make it to the bash script.  If a .bat
file exits with exit 1, the shell does seem to get the error code.
Unfortunately, this isn't a possible workaround since these .bat files
are also run from DOS shells.  I tried using ash as well but got the
same results.  Is this a known problem?

Per the web page, I'm including cygcheck -s -v -r output at the end
of my message.  For security reasons, I've removed hostname and other
host identifying information.

Thanks

--Angela

Cygwin Win95/NT Configuration Diagnostics
Current System Time: Wed Dec 04 16:09:16 2002

Windows 2000 Server Ver 5.0 Build 2195 Service Pack 3

Path:   C:\cygwin\usr\local\bin
C:\cygwin\bin
C:\cygwin\bin
c:\Vendor\Borland\CBUILD~1\Projects\Bpl
c:\Vendor\Borland\CBUILD~1\Bin
c:\lbin
c:\lbin\infozip
C:\cygwin\bin
c:\Perl\bin
c:\Program Files\Perforce
c:\Program Files\Common Files\VERITAS Shared
c:\PROGRA~1\VERITAS\NetBackup\bin
c:\WINNT\system32
c:\WINNT
c:\WINNT\System32\Wbem

SysDir: C:\WINNT\System32
WinDir: C:\WINNT

HOME = `C:\cygwin\home\Administrator'
MAKE_MODE = `unix'
PWD = `/home/Administrator'
USER = `Administrator'

ALLUSERSPROFILE = `C:\Documents and Settings\All Users'
APPDATA = `C:\Documents and Settings\angela\Application Data'
COMMONPROGRAMFILES = `C:\Program Files\Common Files'
COMSPEC = `C:\WINNT\system32\cmd.exe'
HOMEDRIVE = `C:'
HOMEPATH = `\Documents and Settings\angela'
MANPATH = `:/usr/ssl/man'
NUMBER_OF_PROCESSORS = `2'
OLDPWD = `/usr/bin'
OS2LIBPATH = `C:\WINNT\system32\os2\dll;'
OS = `Windows_NT'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 8 Stepping 3, GenuineIntel'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0803'
PROGRAMFILES = `C:\Program Files'
PROMPT = `$P$G'
PS1 = `\[\033]0;\w\007
\033[32m\]\u@\h \[\033[33m\w\033[0m\]
$ '
SESSIONNAME = `RDP-Tcp#5'
SHLVL = `1'
SYSTEMDRIVE = `C:'
SYSTEMROOT = `C:\WINNT'
TEMP = `c:\DOCUME~1\angela\LOCALS~1\Temp\1'
TERM = `cygwin'
TMP = `c:\DOCUME~1\angela\LOCALS~1\Temp\1'
TOLIST = `[EMAIL PROTECTED]'
USERNAME = `angela'
USERPROFILE = `C:\Documents and Settings\angela'
WINDIR = `C:\WINNT'
_ = `/usr/bin/cygcheck'

HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
  (default) = `/cygdrive'
  cygdrive flags = 0x0022
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `C:\cygwin'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `C:\cygwin/bin'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) = `C:\cygwin/lib'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options

a:  fd   N/AN/A
c:  hd  NTFS   34676Mb  43% CP CS UN PA FC 
d:  cd  CDFS 242Mb 100%CS UN   Wise Solutions
u:  net NTFS   32Mb  93% CP CS UN PA FC New Volume

C:\cygwin  /  system  binmode
C:\cygwin/bin  /usr/bin   system  binmode
C:\cygwin/lib  /usr/lib   system  binmode
.  /cygdrive  userbinmode,cygdrive

Found: C:\cygwin\bin\bash.exe
Found: C:\cygwin\bin\cat.exe
Not Found: cpp (good!)
Found: C:\cygwin\bin\find.exe
Not Found: gcc
Not Found: gdb
Not Found: ld
Found: C:\cygwin\bin\ls.exe
Found: c:\Vendor\Borland\CBUILD~1\Bin\make.exe
Found: C:\cygwin\bin\sh.exe

   58k 2002/05/07 C:\cygwin\bin\cygbz2-1.dll - os=4.0 img=1.0 sys=4.0
  cygbz2-1.dll v0.0 ts=2002/5/6 23:33
  643k 2002/11/09 C:\cygwin\bin\cygcrypto.dll - os=4.0 img=1.0 sys=4.0
  cygcrypto.dll v0.0 ts=2002/11/9 1:56
   45k 2001/04/25 C:\cygwin\bin\cygform5.dll - os=4.0 img=1.0 sys=4.0
  cygform5.dll v0.0 ts=2001/4/24 22:28
   35k 2002/01/09 C:\cygwin\bin\cygform6.dll - os=4.0 img=1.0 sys=4.0
  cygform6.dll v0.0 ts=2002/1/8 22:03
   19k 2002/02/20 C:\cygwin\bin\cyggdbm.dll - os=4.0 img=1.0 sys=4.0
  cyggdbm.dll v0.0 ts=2002/2/19 19:05
   17k 2001/06/28 C:\cygwin\bin\cyghistory4.dll - os=4.0 img=1.0 sys=4.0
  cyghistory4.dll v0.0 ts=2001/1/6 20:34
   20k 2002/10/10 C:\cygwin\bin\cyghistory5.dll -