cygwin.bat improvements (was Re: Cygwin on XP disapearing terminal mystery)

Igor Peshansky pechtcha@cs.nyu.edu
Wed Feb 1 18:31:00 GMT 2006


On Wed, 1 Feb 2006, Christopher Faylor wrote:
> On Wed, Feb 01, 2006 at 12:06:08PM -0500, Igor Peshansky wrote:
> >However, most bash invocations should exit with a 0 exit code. So, why
> >not simply do something like the test below?
> >
> >if not errorlevel 1 goto nopause
> >pause
> >:nopause
> >
> >Also, "command not found" sets error code to 127, so the "1" above can be
> >changed to "127".

(actually Dave's right -- it's "9009").
> Wouldn't that be:
>> if not errorlevel 0 pause

Contrary to all common sense, "if not errorlevel A" means "if %ERRORLEVEL%
< A", not an equality test... So the above will *always* pause. Also, in
command.com (Win9x), I believe you can only have a "goto" after the "if
errorlevel" test...
> or
>> @if errorlevel 0 goto exit
> @echo "bash was either not executed or did not exit cleanly"
> @echo "[more touchy feely stuff here]"
> @pause
> :exit
>> ?

Again, "if errorlevel 0" means "0 and above". Yuck!
> This would be triggered if someone types "exit N" (where N != 0) in the
> bash window, though. I suspect that we'll now hear from the cygwin user
> contingent who always type "exit 42" because that was required to work
> around problems with ZoneAlarm v527.

Since "exit N" from bash will never produce an exit code that's over 256,
checking for %ERRORLEVEL%>=256 should work well to diagnose "bash
crashing" problems.
So, do we go with
if not errorlevel 256 goto nopause
pause
:nopause

?
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
 |\ _,,,---,,_	 pechtcha@cs.nyu.edu | igor@watson.ibm.com
ZZZzz /,`.-'`' -. ;-;;,_		Igor Peshansky, Ph.D. (name changed!)
 |,4- ) )-,_. ,\ ( `'-'		old name: Igor Pechtchanski
 '---''(_/--' `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"
--
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

AltStyle によって変換されたページ (->オリジナル) /