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 programming 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 countlet "num % 2"; echo $?Test for an even number
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access