[Next] [Previous] [Up] [Top] [Contents]

CHAPTER 5 Shells

5.2 Environment Variables


Environmental variables are used to provide information to the programs you use. You can have both global environment and local shell variables. Global environment variables are set by your login shell and new programs and shells inherit the environment of their parent shell. Local shell variables are used only by that shell and are not passed on to other processes. A child process cannot pass a variable back to its parent process.

The current environment variables are displayed with the "env" or "printenv" commands. Some common ones are:

Many environment variables will be set automatically when you login. You can modify them or define others with entries in your startup files or at anytime within the shell. Some variables you might want to change are PATH and DISPLAY. The PATH variable specifies the directories to be automatically searched for the command you specify. Examples of this are in the shell startup scripts below.

You set a global environment variable with a command similar to the following for the C shell:

% setenv NAME value

and for Bourne shell:

$ NAME=value; export NAME

You can list your global environmental variables with the env or printenv commands. You unset them with the unsetenv (C shell) or unset (Bourne shell) commands.

To set a local shell variable use the set command with the syntax below for C shell. Without options set displays all the local variables.

% set name=value

For the Bourne shell set the variable with the syntax:

$ name=value

The current value of the variable is accessed via the "$name", or "${name}", notation.


Introduction to Unix - 14 AUG 1996
[Next] [Previous] [Up] [Top] [Contents]