home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam

 Chapter 4The Bourne Shell and Korn Shell

## 4.4 Arithmetic Expressions

The Korn shell's let command performs integer arithmetic. The Korn shell provides a way to substitute integer values (for use as command arguments or in variables); base conversion is also possible:

 \$(( ``` expr ``` )) Use the value of the enclosed arithmetic expression. ``` B ``` #``` n ``` Interpret integer ``` n ``` in numeric base ``` B ``` . For example, 8#100 specifies the octal equivalent of decimal 64.

### 4.4.1 Operators

The Korn shell uses arithmetic operators from the C programming language; they are listed below in decreasing order of precedence:

 - 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. *= /= %= Assignment. = += -= <<= >>= &= ^= |=

### 4.4.2 Examples

```let "count=0" "i = i + 1"
Assign
```
i```
and```
count```
.
let "num % 2"
Test for an even number.

(( percent >= 0 && percent <= 100 ))
Test the range of a value.
```

 4.3 Variables 4.5 Command History