Arithmetic Expressions

The let command performs integer arithmetic. bash provides a way to substitute integer values (for use as command arguments or in variables); base conversion is also possible:

Expression Meaning
(( expr)) Use the value of the enclosed arithmetic expression.

Operators

bash uses arithmetic operators from the C developing language; the following list is in decreasing order of precedence. Use parentheses to override precedence.

Operator Meaning
- Unary minus
! ~ Logical negation; binary inversion (one's complement)
* / % Multiplication; division; modulus (remainder)
+ - Addition; subtraction
<< >> Bitwise left shift; bitwise right shift
<= >= Less than or equal to; greater than or equal to
< > Less than; greater than
== != Equality; inequality (both evaluated left to right)
& Bitwise AND
^ Bitwise exclusive OR
| Bitwise OR
&& Logical AND
|| Logical OR
= Assign value.
+= -= Reassign after addition/subtraction
*= /= %= Reassign after multiplication/division/remainder
&= ^= |= Reassign after bitwise AND/XOR/OR
<<= >>= Reassign after bitwise shift left/right

Examples

See the let built-in command for more information and examples.

let "count=0" "i = i + 1" Assign i and count let "num % 2" Test for an even number