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 ... |
Get bash Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.