This is the mail archive of the
mailing list for the Cygwin project.
Re: ash missing 'getopts' builtin
On Mon, May 19, 2003 at 05:20:16PM +0200, Corinna Vinschen wrote:
> On Mon, May 19, 2003 at 08:11:34AM -0700, Dario Alcocer wrote:
> Thanks but that's not how ash is supposed to be used. Ash as part of
> the Cygwin distro is "code-minimized" under the assumption that it's
> *only* used for shell scripts using most plain bourne syntax (autoconf
> is actually one example) and that it's good to have a shell which is
> running fast since it doesn't have to care for the user interface.
Yes, you're right, I agree with you, features that are only useful for
interactive use (fg, bg, jobs) should not be compiled into ash, since
ash is meant only for batch (not interactive) use. However, getopts
isn't really an interactive feature; besides, an extra 13K in code
shouldn't slow ash down at all (if you'd like, I can do some testing to
In fact, I'd say that getopts is almost necessary for scripting,
because its inclusion allows scripts to be on an equal footing with
compiled programs, in that both can accept command line options. This
means I can write small programs as shell scripts instead of as a
compiled program; this is entirely consistent with traditional Unix
programming philosophy, which encourages the use of shell scripts for
> So, ash is compiled under Cygwin with job control disabled, with a few
> options missing to the `read command' etc. If you actually need all
> these stuff, please use bash, not ash.
Well, I personally only need getopts; most of the Bourne shell scripts I
write take options, and not having this built-in means I have to change
all of them to use #!/bin/bash instead.
It's not really a problem, though. I just think including getopts is
entirely consistent with ash as a programming tool, and should not be
omitted. I hope you can reconsider it's inclusion. I understand that
your opinion, and that of cgf, trumps any opinion I may have :-)
Dario Alcocer -- Sr. Software Developer, Helix Digital Inc.
firstname.lastname@example.org -- http://www.helixdigital.com
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html