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