Untuk melakukan perhitungan aritmatik, shell tidak memiliki kemampuan
built-in, tetapi meminta bantuan program lain yaitu `expr`. Program expr
berfungsi untuk mengevaluasi suatu expresi baik itu perbandingan string
atau operasi aritmatik sederhana.
Operator aritmatik yang disediakan expr antaran lain:
+———–+———————————————————–+
| Operator | KETERANGAN |
+———–+———————————————————–+
| + | Operator Penjumlahan contoh: expr 1 + 1 |
+———–+———————————————————–+
| – | Operator Pengurangan contoh: expr 10 – 9 |
+———–+———————————————————–+
| * | Operator Perkalian contoh: expr 10 \* 10 |
+———–+———————————————————–+
| / | Operator Pembagian contoh: expr 10 / 2 |
+———–+———————————————————–+
| % | Operator Modulus contoh: expr 15 % 3 |
+———–+———————————————————–+
Selain digunakan untuk perhitungan aritmatik, perintah `expr` juga cukup
handal untuk melakukan manipulasi string, untuk lebih jelas silahkan lihat
halaman manual dari expr dengan mengetikkan `man expr`.
contoh:
Buatlah sebuah shell script untuk menghitung nilai dari argument-1 dikali
argument-2 ditambah argument-3!
jawaban:
Secara matematis perhitungannya adalah
(argument-1 + argument-2) + argument-3.
Tidak seperti bahasa tingkat tinggi, pada shell script untuk memberi
prioritas pada suatu perhitungan kita menggunakan tanda $[ ... ]. Jadi
perhitungannya menjadi
$[ argument-1 + argument-3 ] + argument-3
Keuntungan lain ketika kita menggunakan tanda $[...] adalah kita tidak perlu
melakukan escaping character pada tanda perkalian(*). Berikut ini adalah
shell scriptnya.
bash-2.04$ vi hitung.sh
#!/bin/sh
bil1=$1
bil2=$2
bil3=$3
echo -n “HASIL DARI $bil1 * $bil2 + $bil3 = ”
echo `expr $[ $bil1 * $bil2 ] + $bil3`
bash-2.04$ chmod +x hitung.sh
bash-2.04$ ./hitung.sh 10 10 10
HASIL DARI 10 * 10 + 10 = 110