Built-in Shell Variables
Table A-5 shows a complete list of environment variables available in bash 3.0. The letters in the Type column of the table have the following meanings: A = Array, L = colon-separated list, R = read-only, U = unsetting it causes it to lose its special meaning.
Note that the variables beginning BASH_ and beginning COMP, as well as the variables DIRSTACK, FUNCNAME, GLOBIGNORE, GROUPS, HISTIGNORE,
HOSTNAME, HISTTIMEFORMAT, LANG, LC_ALL, LC_COLLATE, LC_MESSAGE, MACHTYPE,
PIPESTATUS, SHELLOPTS, and TIMEFORMAT are not available in versions prior
to 2.0. BASH_ENV replaces ENV found in earlier versions.
Table A-5. Built-in shell environment variables
Variable | Type | Description |
|---|---|---|
* | R | A single string containing the positional parameters
given to the current script or function, separated by the first
character of |
@ | R | Each of the positional parameters given to the
current script or function, given as a list of double-quoted
strings (e.g., |
# | R | The number of arguments given to the current script or function. |
- | R | Options given to the shell on invocation. |
? | R | Exit status of the previous command. |
_ | R | Last argument to the previous command. |
$ | R | Process ID of the shell process. |
! | R | Process ID of the last background command. |
0 | R | Name of the shell or shell script. |
| The full pathname used to invoke this instance of bash. | |
| A | An array of values, which are the number of parameters in each frame of the current bash execution call stack. The number of ... |
Become 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