Stupid bash question

Dean S. Messing deanm at sharplabs.com
Wed Dec 12 08:01:34 UTC 2007


Ralf Corsepius wrote:
: On Tue, 2007-12-11 at 21:29 -0800, Dean S. Messing wrote:
: > Tony Nelson writes:
: > : The reason seems weak to me, but test does not require a closing square
: > : bracket, while [ does, and:
: > : 
: > : At 6:22 PM +0200 5/11/07, Stepan Kasal wrote:
: > : >Hi,
: > : >
: > : >On Fri, May 11, 2007 at 04:44:39PM +0200, Matthias Saou wrote:
: > : >> single square brackets, I thought "[" was a symlink to the
: > : >> coreutils "test" command, [..]
: > : >
: > : >AFAIK, it used to be hard link, not symlink.
: > : >
: > : >> -rwxr-xr-x 1 root root 32168 Apr 17 13:48 /usr/bin/[
: > : >> -rwxr-xr-x 1 root root 29544 Apr 17 13:48 /usr/bin/test
: > : >
: > : >GNU Coding Standards now declare that the behaviour of binary
: > : >should not depend on its name.
: >
: > The new coding standards 
: 
: New? Even version 1.1 of GNU standards (Sun Mar 8 06:28:22 1992 UTC (15
: years, 9 months ago)) carries this rule:
: 
: http://cvs.savannah.gnu.org/viewvc/gnustandards/standards.texi?revision=1.1&root=gnustandards&view=markup
: 
: > put quite a crimp in the use of
: > /sbin/busybox, /sbin/lvm, and a lot of other useful linux modules, I
: > would think.
: > 
: > What's the rationale behind this standard?
: 
: >From [1]
: <cite>
: @node Preface
: @chapter About the GNU Coding Standards
: 
: The GNU Coding Standards were written by Richard Stallman and other GNU
: Project volunteers.  Their purpose is to make the GNU system clean,
: consistent, and easy to install.  This document can also be read as a
: guide to writing portable, robust and reliable programs.  It focuses on
: programs written in C, but many of the rules and principles are useful
: even if you write in another programming language.  The rules often
: state reasons for writing in a certain way.
: </cite>
: 
: >   I've written several
: > useful pieces of signal processing code whose behaviour depends on the
: > name one uses to call it.  Now, self-modifying code---that I can
: > understand. :-)
: 
: >From [1]
: <cite>
: @cindex program name and its behavior
: @cindex behavior, dependent on program's name
: Please don't make the behavior of a utility depend on the name used
: to invoke it.  It is useful sometimes to make a link to a utility
: with a different name, and that should not change what it does.
: 
: Instead, use a run time option or a compilation switch or both
: to select among the alternate behaviors.
: </cite>
: 
: Ralf
: [1] http://cvs.savannah.gnu.org/viewvc/gnustandards/gnustandards/standards.texi
: 

Thanks, Ralf, for enlightening me.  I wrote "new coding standards",
above, in response to Stepan Kasal's remark that "GNU Coding Standards
now declare ...".  I suppose the latter is literally true even if the
Standard was defined in 1992.

Of course, with this new knowledge, I will feel as free as a bird to
boldly ignore the Standard (in this respect) seeing how several other
prominent linux executables (busybox, lvm, dump/restore, halt, to name
a few) have been blithely ignoring it for more than a decade.  ½:-)

Dean




More information about the fedora-list mailing list