Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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
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?
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...?
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.