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 unaffectedBecome an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access