| Variable | Chapter | Meaning | 
|---|---|---|
| # | 4 | Number of arguments given to current process. | 
| - | Options given to shell on invocation. | |
| ? | 5 | Exit status of previous command. | 
| $ | 8 | Process ID of shell process. | 
| _ | Last argument to previous command. | |
| ! | 8 | Process ID of last background command. | 
| CDPATH | 3 | List of directories for cd command to search. | 
| COLUMNS | 3 | Width of display in columns (for editing modes and select).  | 
| EDITOR | 2 | Used to set editing mode; also used by mail and other programs.  | 
| ERRNO | A | Error number of last system call that failed. | 
| ENV | 3 | Name of file to run as environment file when shell is invoked.  | 
| FCEDIT | 2 | Default editor for fc command. | 
| FPATH | 4 | Search path for autoloaded functions. | 
| IFS | 7 | Internal field separator: list of characters that act as word separators. Normally set to SPACE, TAB, and NEWLINE.  | 
| HISTFILE | 2 | Name of command history file. | 
| HISTSIZE | 2 | Number of lines kept in history file. | 
| HOME | 3 | Home (login) directory. | 
| LINENO | 9 | Number of line in script or function that just ran. | 
| LINES | 3 | Height of display in lines (for select command). | 
| 3 | Name of file to check for new mail. | |
| MAILCHECK | 3 | How often (in seconds) to check for new mail. | 
| MAILPATH | 3 | List of file names to check for new mail, if MAIL is not set.  | 
| OLDPWD | 3 | Previous working directory. | 
| OPTARG | 6 | Argument to option being processed by getopts. | 
| OPTIND | 6 | Number of first argument after options. | 
| PATH | 3 | Search path for commands. | 
| PS1 | 3 | Primary command prompt string. | 
| PS2 | 3 | Prompt string for line continuations. | 
| PS3 | 5 | Prompt string for select command. | 
| PS4 | 9 | Prompt string for xtrace option. | 
| PPID | 8 | Process ID of parent process. | 
| PWD | 3 | Current working directory. | 
| RANDOM | 9 | Random number between 0 and 32767 (2215-1).  | 
| REPLY | 5,7 | User's response to select command; result of read command if no variable names given.  | 
| SECONDS | 3 | Number of seconds since shell was invoked. | 
| SHELL | 3 | Full pathname of shell. | 
| TMOUT | 10 | If set to a positive integer, number of seconds between commands after which shell automatically terminates.  | 
| VISUAL | 2 | Used to set editing mode. |