Wilson Bilkovich
12/26/2006 12:27:00 AM
On 12/25/06, Eric Hodel <drbrain@segment7.net> wrote:
> On Dec 25, 2006, at 15:57, Eric Hodel wrote:
> > On Dec 25, 2006, at 15:39, Wilson Bilkovich wrote:
> >> On 12/25/06, Eric Hodel <drbrain@segment7.net> wrote:
> >>> How do I get a windows .bat file to return a proper exit code?
> >>>
> >>> RubyGems build stubs that look something like this:
> >>>
> >>> "c:\ruby\bin\ruby" -x "%~f0" %*
> >>> goto endofruby
> >>> #!/bin/ruby
> >>> abort 'boom'
> >>> __END__
> >>> :endofruby
> >>
> >> What do you get when you put:
> >> exit %ERRORLEVEL%
> >> under the :endofruby label?
> >>
> >> From my quick test, the ruby interpreter returns a proper code, and
> >> the command shell sets the ERRORLEVEL variable correctly.
> >
> > Your name will live forever in the rubygems ChangeLog.
>
> Hrm, it seems that gems doesn't generate .bat files, but instead
> generates .cmd files. I'll ask Curt about this.
>
Should work the same in either. Since going with .cmd files discards
Windows 98 compatibility (rightly), there are some other tricks that
can be safely invoked. As a .CMD, 'EXIT' can take a /B argument that
will exit from the script, but not the command shell as a whole.