Size: 285
Comment:
|
Size: 1656
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
Variables can be explicitly declared with the `declare` [[Bash/BuiltinCommands#Declare|builtin]]. {{{ declare a=1 b=2 c=3 }}} Variables can also be created implicitly. {{{ a=1 b=2 c=3 }}} For declaring array variables, see [[Bash/Array|here]]. |
|
Line 18: | Line 34: |
Variables are accessed by their name. A dollar sign (`$`) must be prefixed to the name. {{{ a=foo b=$a }}} To delimit a variable name from string literals, use braces. For example: {{{ a=foo b=${a}bar }}} |
|
Line 25: | Line 55: |
The following variables are set automatically by `bash(1)`. ||'''Variable'''||'''Value''' || ||`$#` ||number of arguments || ||`$@` ||all arguments as an [[Bash/Array|array]] || ||`$*` ||all arguments as a string || ||`$?` ||the exit code || ||`$$` ||the PID of the shell || ||`$!` ||the PID of the most recent background job|| === Positional Variables === The name of a command is stored in `$0`. The first argument to the command is stored in `$1`. And so on until the 9th argument, `$9`. From the tenth argument, while arguments are stored in an indexed variable, they must be accessed differently. `$10` is interpretted like `${1}0`. To actually access the 10th argument, try `${10}`. |
Bash Variables
For a list of special variables are used internally by the bash(1) shell, see here.
Declaring
Variables can be explicitly declared with the declare builtin.
declare a=1 b=2 c=3
Variables can also be created implicitly.
a=1 b=2 c=3
For declaring array variables, see here.
Usage
Variables are accessed by their name. A dollar sign ($) must be prefixed to the name.
a=foo b=$a
To delimit a variable name from string literals, use braces. For example:
a=foo b=${a}bar
Special Variables
The following variables are set automatically by bash(1).
Variable |
Value |
$# |
number of arguments |
$@ |
all arguments as an array |
$* |
all arguments as a string |
$? |
the exit code |
$$ |
the PID of the shell |
$! |
the PID of the most recent background job |
Positional Variables
The name of a command is stored in $0.
The first argument to the command is stored in $1. And so on until the 9th argument, $9.
From the tenth argument, while arguments are stored in an indexed variable, they must be accessed differently. $10 is interpretted like ${1}0. To actually access the 10th argument, try ${10}.