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.
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 |
– | unary minus |
! | logical negation |
∼ | bitwise negation |
*, /, % | multiplication, division, remainder (modulo) |
+, – | 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) |
18.223.213.238