| Integer arithmetic is performed with the let and ((...)) commands. All of the operators from the C programming language (except ++, ?? and ?:) are supported by the Korn shell. The format for arithmetic constants is: number or base#number where base is a decimal number between 2 and 36 that specifies the arithmetic base. If not specified, the default is base 10. The arithmetic base can also be set with the typeset i command. Arithmetic Commands let "arithmetic-expression" ((arithmetic-expression)) | evaluate arithmetic expression | integer variable | declare an integer variable | integer variable=integer-value | declare an integer variable and set it to a value | integer variable="arithmetic-assignment-expression" | declare an integer variable and assign it the value of the arithmetic-assignment-expression | typeset in variable[=value] | declare a base n integer variable, and optionally assign it a value | Arithmetic Operators | ?/P> | unary minus | | ! | logical negation | | ~ | bitwise negation | | *, /, % | multiplication, division, remainder (modulo) | | +, ?/P> | addition, subtraction | | <<, >> | left shift, right shift | | <=, < | less than or equal to, less than | | >=, > | greater than or equal to, greater than | | ==, != | equal to, not equal to | | & | bitwise AND | | ^ | bitwise exclusive OR | | | | bitwise OR | | && | logical AND | | || | logical OR | | = | assignment | | *=, /=, %= | multiply assign, divide assign, modulo assign | | +=, ? | increment, decrement | | <<=, >>= | left shift assign, right shift assign | | &=, ^=, |= | bitwise AND assign, bitwise exclusive OR assign, bitwise OR assign | | (...) | grouping (used to override precedence rules) | |