-   Linux - Newbie (
-   -   running commands ./ ?? (

greendemon 08-04-2003 05:25 AM

running commands ./ ??
A trivial thing..

Why do I have to put in "./" preceeding a script? Is there a way to avoid this?

acid_kewpie 08-04-2003 05:37 AM

because your current directory is not on your path, and it never ever should be. the only *good* way to not have to do that is to move the script to a program directory, e.g. /usr/local/bin

lfur 08-04-2003 08:28 AM


why is that? I read somewhere, that it is goot to remove :.: form roots path - so it cannot accidentally run some programs (is that true?). But why not use . in user path?


acid_kewpie 08-04-2003 08:37 AM

because it doesn't make sense to be able to run only certain programs when you are in a particular directory... that's just illogical. It can also get very confusing.... what if you create a shell script "blah" to test and work on but you already have a progrma called "blah" installed on your system.... how do you know which one is running etc...?

stickman 08-04-2003 10:54 AM

The main problem with putting . in your path (especially at the beginning) is that is opens you up to possible security problems. A user could put a trojan script in their home directory called file or ls hoping that when the admin would run it when they were checking to see just what was taking up so much space in the users directory. If . was in the PATH before the real binary, the the trojan could get run instead. Another trick is to scatter common command mispellings around the system.

All times are GMT -5. The time now is 09:00 PM.