Our environment is the area that the shell builds every time a new session is started. Programs are able to access our environment variables to their tailor functions according to a user's settings.
For example, a program can access where your TEMP folder is through the environment variable TMPDIR.
There are two types of variables stored - environment and shell. Let's discuss the environment variables first.
Environment variables are the variables that define the current shell session, and any child shells or processes that spawn from it.
We can see the environment variables with the
$ printenv TERM_PROGRAM=iTerm.app SHELL=/bin/bash TERM=xterm-256color USER=JohnDoe MAIL=/var/mail/JohnDoe PATH=/usr/local/bin:/usr/bin:/bin PWD=/home/JohnDoe LANG=en_US.UTF-8 SHLVL=1 HOME=/home/JohnDoe LOGNAME=JohnDoe LESSOPEN=| /usr/bin/lesspipe %s LESSCLOSE=/usr/bin/lesspipe %s %s _=/usr/bin/printenv
You'll find quite a few variables. You can also list just one variable by typing the variable name as an argument to
$ printenv USER JohnDoe
Here's just some of the most common environment variables.
In addition to the
printenv command is
env. These two commands are very similar, except
printenv can request values of individual variables, while
env lets you pass variables through to a command.
env variable is useful when you want to create child processes with an alternate variable. The
-c option here allows you to pass in a command as a string.
$ env VAR="HelloWorld" bash -c 'command'
Shell variables are useful for keeping values in scripts, and control the way the shell behaves. To see the shell variables use the
set command. This displays the shell variables, environmental variables, local variables and shell functions.
$ set ... DIRSTACK=() EUID=501 GROUPS=() HISTFILE=/Users/shawnPC/.bash_history HISTFILESIZE=500 HISTSIZE=500 HOME=/Users/shawnPC HOSTNAME=Shawns-Mac-Pro HOSTTYPE=x86_64 IFS=$' \t\n' ITERM_PROFILE=Default ITERM_SESSION_ID=w0t0p0 ...
Since this will have many more variables, consider piping the listing to the
Here are some common shell variables:
Linux for Beginners doesn't make any assumptions about your background or knowledge of Linux. You need no prior knowledge to benefit from this book. You will be guided step by step using a logical and systematic approach. As new concepts, commands, or jargon are encountered they are explained in plain language, making it easy for anyone to understand.$ Check price
Stretch out your back and relieve your back muscles with inversion therapy. This device counteracts the forces of gravity on the body by decompressing and elongating the spine. By using this product just ten minutes a day, you can be well on your way to improved circulation and posture while relieving muscle aches, back pain and stress.$$ Check price