Variables
This section describes the following:
Variable assignment
Variable substitution
Built-in shell variables
Other shell variables
Arrays
Special prompt strings
Variable Assignment
Variable names consist of any number of letters, digits, or
underscores. Uppercase and lowercase letters are distinct, and names
may not start with a digit. Variables are assigned values using the
=
operator. There may
not be any whitespace between the variable name
and the value. You can make multiple assignments on the same line by
separating each one with whitespace:
firstname=Arnold lastname=Robbins numkids=4
By convention, names for variables used or set by the shell usually have all uppercase letters; however, you can use uppercase names in your scripts if you use a name that isn't special to the shell.
By default, the shell treats variable values as strings, even if
the value of the string is all digits. However, when a value is
assigned to an integer variable (created via declare -i
), Bash evaluates the righthand
side of the assignment as an expression (see the later section Arithmetic Expressions). For example:
$i=5+3 ; echo $i
5+3 $declare -i jj ; jj=5+3 ; echo $jj
8
Beginning with Bash Version 3.1, the +=
operator allows you to add or append the
righthand side of the assignment to an existing value. Integer
variables treat the righthand side as an expression, which is
evaluated and added to the value. Arrays add the new elements to the
array (see the later section Arrays). For example:
$ name=Arnold ...
Get bash Quick Reference 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.