Re: 1.3.15 on W2K: return codes, bash, cmd.exe
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
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
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 -