Team LiB   Previous Section   Next Section

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

7.4.1 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

7.4.2 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"; echo $?                 Test for an even number
    Team LiB   Previous Section   Next Section