O'Reilly logo

bash Quick Reference by Arnold Robbins

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required