Shell variables
You can define variables and their values by assigning them:
$ MYVAR=3
To refer to a value, simply place a dollar sign in front of the variable name:
$ echo $MYVAR 3
Some variables are standard and commonly defined by your shell upon login.
Variable | Meaning | |
| The name of your X window display | |
| The name of your home directory | |
| Your login name | |
| Path your incoming mailbox | |
| Your shell’s previous directory | |
| Your shell search path: directories separated by colons | |
| Your shell’s current directory | |
| The path to your shell, e.g., /bin/bash | |
| The type of your terminal, e.g., xterm or vt100 | |
| Your login name |
To see a shell’s variables, run:
$ printenv
The scope of the variable (i.e., which programs know about it) is, by default, the shell in which it’s defined. To make a variable and its value available to other programs your shell invokes (i.e., subshells), use the export command:
$ export MYVAR
or the shorthand:
$ export MYVAR=3
Your variable is now called an environment variable, since it’s available to other programs in your shell’s “environment.” To make a specific value available to a specific program just once, prepend variable=value to the command line:
$ echo $HOME
/home/smith
$ HOME=/home/sally echo "My home is $HOME"
My home is /home/sally
$ echo $HOME
/home/smith The original value is unaffected