On Wednesday 30 March 2005 10:06, Amir Binyamini wrote:
> I had seen before a recommendion not to use "test" as an executable
> in linux and I am aware of it)

Let's improve this recommendation a bit:
  1. If you follow the recommendation *not* to put '.' (the
     current directory) in your $PATH.
  2. Then you cannot simply run hello (Command not found) and
     you must run it with a specific path (absolute or relative).
     for example: ./hello
  3. In this case you may call your programs by any name you like:
     ./hello; ./test; ./cd
     The shell simply execute them as instructed (no alias substitution,
     no built in command collision, etc).

If, OTOH, you have '.' in your $PATH:
  1. You get accustomed to running your test programs without explicit
     path name.
  2. This causes your shell to apply its standard logic (aliases,
     built-ins etc.)
  3. Which causes collision with many commands with common names
     (e.g: test, sort, tar (short for "targil" in hebrew) etc.)
  4. As a bonus, if you do it as root, you just opened your system
     to a "full-trailer-size" security hole as old as Unix.

To summarize: the folk tale about avoiding commands named test (or
Nee, for that matter) is like trying to cure a virus with Aspirin.

Cheers,

-- 
Oron Peled                             Voice/Fax: +972-4-8228492
[EMAIL PROTECTED]                  http://www.actcom.co.il/~oron
ICQ UIN: 16527398

"Software is like Entropy: it's hard to grasp, weighs nothing and
obeys the Second Law of Thermodynamics, i.e. it always increases" 
        -- Norman Augustine 

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to