How Do I Set and Use Linux Environment Variables?
Environment Variables
Environment variables in the bash shell help you in several ways. Certain built-in variables change the shell in ways that make your life a little easier, and you can define other variables to suit your own purposes. Here are some examples of built-in shell variables:
� PS1 defines the shell's command-line prompt.
� HOME defines the home directory for a user.
� PATH defines a list of directories to search through when looking for a command to execute.
To list the current values of all environment variables, issue the command
env
or list a specific variable with the echo command, prefixing the variable n ame with a dollar sign (the second line shows the result of the echo command):
echo $HOME
/home/hermie
You've already learned how to customize your shell prompt with the PS1 variable. The HOME variable is one you shouldn't mess with, because lots of programs count on it to create or find files in your personal home directory.
Understanding the Path Variable
As in DOS, the shell uses the PATH variable to locate a command. PATH contains a list of dir ectories separated by colons:
echo $PATH
/bin:/usr/bin:/usr/local/bin
When you enter a command, the shell looks in each of the directories specified in PATH to try to find it. If it can't find the command in any of those directories, you'll see a "Command not found" message.
If you decide to put your own programs in a bin directory under your home directory, you'll have to modify the path to include that directory, or the system will never find your programs (unless you happen to be in that directory when you enter the command). Here's how to change your PATH variable so it includes your personal bin directory:
PATH=$PATH:$HOME/bin
So if PATH was set to /bin:/usr/bin:/usr/local/bin beforehand, it would now have the value /bin:/usr/bin:/usr/local/bin:/home/hermie/bin.
Creating Your Own Shell Variables
If you are a programmer, you'll find it handy to create your own shell variables. First issue the command
code=$HOME/projects/src/spew
and then, regardless of what directory you are in, you can issue
cd $code
to pop over quickly to the directory containing the source code for that way-cool spew program you're developing. (The cd command means "change directory.")
A variable assignment like this will work just fine, but its scope (visibility) is limited to the current shell. If you launch a program or enter another shell, that child task will not know about your environment variables unless you export them first.
Unless you know for sure that an environment variable will have meaning only in the current shell, it's a good idea to always use export when creating variables to ensure they will be global in scope--for example,
export PS1="\u \$ "
export code=$HOME/projects/src/spew
And be sure to add these commands to your .profile file so you won't have to retype them eac h time you log in.
LINKS TO THE OTHER TUTORIALS
Leason 1: Living in a shell
Leason 2: Root and Other Users
Leason 3: Virtual Consoles
Leason 4: Logoff and Shutdown
Leason 5: Choosing a Shell
Leason 6: The Command Prompt
Leason 7: Wildcards
Leason 8: Command History and Editing
Leason 9: Aliases
Leason 10: Redirection
Leason 11: Pipelines
Leason 12: Processes
Leason 13: Stopping a Program
Leason 14: Environment Variables
Leason 15: Help!
- Board index General Knowledge Everything Linux
-
- It is currently 03 May 2025, 17:46
- All times are UTC-04:00
Linux Basics (tutorial) #14
Discuss everything about Linux here!
Moderator: Community Moderator
- MrNiitriiX
- Premium Uploader
- Posts: 2197
- Joined: 19 Apr 2010, 14:52
- Location: between space and time
- Has thanked: 24 times
- Been thanked: 164 times
Linux Basics (tutorial) #14
Post by MrNiitriiX »
Last edited by MrNiitriiX on 31 Jul 2010, 13:02, edited 1 time in total.
Jump to
- ↳ Site Help & Support
- ↳ Site Tutorials & How To
- ↳ Site Support/Bugs
- ↳ Suggestion & Feedback
- ↳ General Discussions
- ↳ News
- ↳ Trades & Offers
- ↳ Sports
- ↳ Relax & Enjoy!
- ↳ Jokes
- ↳ General Knowledge
- ↳ Tips, Tweaks & Quick Tutorials
- ↳ OpenSource/Freeware & Useful Links
- ↳ Everything Linux
- ↳ General Support
- ↳ Technical Support
- ↳ Software Chat & Support
- ↳ Hardware Chat & Support
- ↳ Smartphones and other Portable Devices Chat & Support
- ↳ Programming/Web Building Chat & Support
- ↳ User Uploads list
- ↳ Graphics & Images
- ↳ Graphics Requests & Helpdesk
- ↳ CC Graphics & Images
- ↳ ChattChitto RG
- ↳ ChattChitto RG - Apps
- ↳ ChattChitto RG - Movies
- ↳ ChattChitto RG - Music
- ↳ Apps
- ↳ Portable
- ↳ Beta
- ↳ Games
- ↳ PC
- ↳ PS2
- ↳ PS3
- ↳ Wii
- ↳ Xbox
- ↳ PSP
- ↳ Other Consoles
- ↳ Movies
- ↳ Rips
- ↳ Pretime Releases
- ↳ DVD-Rip
- ↳ BR-Rip/BD-Rip
- ↳ 3D-Rips
- ↳ Full Rips
- ↳ DVD-R
- ↳ BR-R
- ↳ TV Shows
- ↳ HDTV Shows
- ↳ Anime/Cartoons
- ↳ Sport
- ↳ Music
- ↳ Electronic / Dance Music
- ↳ Pop / Rock Music
- ↳ Hip-Hop / Rap Music
- ↳ R&B / Soul Music / Jazz / Reggae
- ↳ Soundtrack / Classical Music
- ↳ Other Genres
- ↳ Music Videos
- ↳ DJ Mix sets & Mash-Ups
- ↳ eBooks
- ↳ Audio
- ↳ Magazine
- ↳ Mac and Other OSes
- ↳ Others
- ↳ Templates, Fonts & Scripts
- ↳ Wallpapers & Images Pack
- ↳ Tutorials - Educational Material
- ↳ Mobiles & Media Players
- ↳ Apps
- ↳ Portable
- ↳ Beta
- ↳ Games
- ↳ PC
- ↳ PS2
- ↳ PS3
- ↳ Wii
- ↳ Xbox
- ↳ PSP
- ↳ Other Consoles
- ↳ Movies
- ↳ Rips
- ↳ Pretime Releases
- ↳ DVD-Rip
- ↳ BR-Rip/BD-Rip
- ↳ 3D-Rips
- ↳ Full Rips
- ↳ DVD-R
- ↳ BR-R
- ↳ TV Shows
- ↳ HDTV Shows
- ↳ Anime/Cartoons
- ↳ Sport
- ↳ Music
- ↳ Electronic / Dance Music
- ↳ Pop / Rock Music
- ↳ Hip-Hop / Rap Music
- ↳ R&B / Soul Music / Jazz / Reggae
- ↳ Soundtrack / Classical Music
- ↳ Other Genres
- ↳ Music Videos
- ↳ DJ Mix sets & Mash-Ups
- ↳ eBooks
- ↳ Audio
- ↳ Magazine
- ↳ Mac and Other OSes
- ↳ Others
- ↳ Templates, Fonts & Scripts
- ↳ Wallpapers & Images Pack
- ↳ Tutorials - Educational Material
- ↳ Mobiles & Media Players
- ↳ Short Videos
- ↳ Regular Movies
- ↳ Hentai Movies
- ↳ Ebooks, Pics & Wallpapers
- ↳ Jokes
- ↳ Adult Sites Passwords
- ↳ Requests
- ↳ Apps requests
- ↳ Completed Requests
- ↳ Games requests
- ↳ Completed Requests
- ↳ Movies & TV Shows requests
- ↳ Completed Requests
- ↳ Music requests
- ↳ Mix Tape
- ↳ Completed Requests
- ↳ Other requests
- ↳ Mac requests
- ↳ Completed Requests
- Social Life
- ↳ Animals and Pets
- ↳ Photography
- ↳ Handy Hints for Everyday Living
- ↳ Traveling
- ↳ Motor Racing
- ↳ Cars and Bikes
- ↳ Aircrafts
- ↳ Marine/Submarine Vessels
- ↳ Cooking
- ↳ Sports
- ↳ Gadgets
- ↳ Gifts
- ↳ Forex