On 5/23/07, Diego Biurrun <diego_AT_biurrun.de> wrote:
> The emacs comparison is nonsensical. test is a builtin in most shells
> (offhand bash, ash, dash, ksh, pdksh, zsh, sash on this Debian system
> where I have a login shell), so of course [ should be a builtin, too.
> They're the same thing after all.
Yes, if one is builtin, the other should be as well. I'm just saying
that it's unclear to me why they should be builtin at all?
"Efficiency", seems to be the standard answer, but then one could
argue to builtin cat, sed, cut, tr, etc. etc., maybe /bin entirely, as
well. Efficiency alone does not explain why these, but not others, are
builtin.
By the way, not very surprisingly, the original UNIX manual pages (see
http://plan9.bell-labs.com/7thEdMan/v7vol1.pdf) do not mention test as
being part of sh(1) at all, in fact, the only explicit reference to
"test" in the sh(1) manpage is in the "see also" section.
Even if most (if not all) Bourne Shell compatibles of today builtin
this stuff, I still consider it bad practice.
And the emacs comparison isn't nonsensical, it's just an exaggeration;
one could argue to builtin emacs with the exact same arguments as
mainly used for "test" and "[".
Greetings, Sander.
Received on Wed May 23 2007 - 17:24:20 UTC
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:42:28 UTC