bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why are parameters to Bash's builtin optional?


From: Victor Engmark
Subject: Re: Why are parameters to Bash's builtin optional?
Date: Wed, 18 Apr 2012 08:27:01 -0700 (PDT)
User-agent: G2/1.0

On Wednesday, April 18, 2012 4:36:36 PM UTC+2, Chet Ramey wrote:
> On 4/18/12 9:18 AM, Victor Engmark wrote:
> > (Re-posted from Stack Overflow 
> > <http://unix.stackexchange.com/questions/36751/why-are-parameters-to-bashs-builtin-optional>)
> > 
> > Running simply `builtin` prints nothing and returns exit code 0. This is in 
> > accordance with `help builtin`, which shows all parameters as optional. But 
> > why isn't this no-op an error? Is there a use case for this? A more useful 
> > result would be an error code or, even better, listing the currently 
> > available builtins.
> 
> What's the use case for having it be an error?

Since it's a nonsensical command, and since developers who haven't learned 
proper quoting shouldn't be shot too hard in the foot when they run `builtin 
$empty`. Or maybe they should be - Quoting is such a different matter from 
mainstream languages (and *much* more complex) that maybe `builtin` should 
print simply "Use More Quotes!" Seriously though, Bash is difficult enough as 
it is, and a spoonful of language fussiness is worth a ton of guard code.

>  I can see printing a list of builtins, though `enable' already does that.

I guess the difference would be that `builtin` prints *all* builtins, and 
*never* modifies their state.

Cheers,
V


reply via email to

[Prev in Thread] Current Thread [Next in Thread]