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.
Set it either in /etc/profile (global) or your ~/.profile (user-specific). If you use the latter you may also want to source your ~/.profile from ~/.bashrc
If you want your PATH updated only upon logging in, edit ~/.bash_profile (usually Red Hat/rpm-based systems) or ~/.profile for Debian-based systems (at least for Ubuntu).
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
Please note PATH is exported. PATH is usually defined/updated in the login-only files, rather than .bashrc, which is executed, I believe, every time a shell starts up.
It was not clear from your post if you were adding to PATH on the command line or in a login file as noted above. Unless you absolutely do not want a launched program to have your modified PATH, pre-prending export to the environment variable is a useful thing to do (with any environment variable for that matter).
Thanks, but that's what I did. In a bash terminal I put
PATH=$PATH:/usr/lib export PATH in one line, then pressed enter.
I also put exactly that in my home .bash_profile, and to be sure in /etc/profile. On restart, echo $PATH gave me the old PATH again, without /usr/lib That's why I thought I'm doing something wrong here! Am I?
1. the damage may be less than root, but its still not fun
2. if you use
su
instead of
su -
you maintain your ORIG env, instead of getting root's ... think about that ...
1. the damage may be less than root, but its still not fun
2. if you use
su
instead of
su -
you maintain your ORIG env, instead of getting root's ... think about that ...
which is why I always use su -
When running as root I often use absolute paths for all my commands anyways...
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib:/usr/include:/usr/include/jasper"
fi
if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ '
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
/etc/profile is a root file, ie only root can modify it. But I started gedit as su to add /usr/lib and the others. But on starting the computer this morning I still only have $PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Arrrrghh!!
Oh, and /etc/profile was there, I just modified it, according to what I read on the net. Wouldn't know how to write a script!
Far as I can see, I'm not doing anything wrong, but it doesn't work!!! Maybe missed a dot or a comma???
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib:/usr/include:/usr/include/jasper"
fi
I get the following, but only because this morning I set PATH using PATH=$PATH:/usr/lib, as it didn't have /usr/lib, even though /etc/profile is/was as shown above.
If I do a restart now, I'll probably end up with the old PATH again, can try. Will try and get back to you.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.