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

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

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

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

Copyright © 2001 O'Reilly & Associates. All rights reserved.