# Chapter 15. Arithmetic Expansion

Arithmetic expansion provides a powerful tool for performing arithmetic operations in scripts. Translating a string into a numerical expression is relatively straightforward using backticks, double parentheses, or let.

Variations

Arithmetic expansion with backticks (often used in conjunction with expr)

 ` 1 z=`expr \$z + 3` # The 'expr' command performs the expansion.`

Arithmetic expansion with double parentheses, and using let

The use of backticks in arithmetic expansion has been superseded by double parentheses \$((...)) or the very convenient let construction.
 ``` 1 z=\$((\$z+3)) 2 # \$((EXPRESSION)) is arithmetic expansion. # Not to be confused with 3  #+ command substitution. 4  5 let z=z+3 6 let "z += 3" # Quotes permit the use of spaces and special operators. 7 # The 'let' operator actually performs arithmetic evaluation, 8 #+ rather than expansion.```
All the above are equivalent. You may use whichever one "rings your chimes".

Examples of arithmetic expansion in scripts: