Shell Scripting: Increment dan Decrement nilai dengan Bash
![](http://1.bp.blogspot.com/-hHNti_XJi0A/TqwP40jbm1I/AAAAAAAAApA/9GqFrLF4ckA/ s1600/increment-decrement.png)
Increment dan Decrement pada bahasa pemrograman adalah menaikkan/menurunkan
nilai satu variabel satu tingkat dari nilai yang telah diset pada variabel
tersebut.
Misalkan kita mempunya sebuah variabel dengan nama _var yang nilainya
adalah 3 jika kita lakukan decrement maka nilai variabel tersebut
menjadi 2 dan akan kembali menjadi **3 **jika kita melakukan proses
increment.
_
_
Seperti kebanyakan bahasa pemrograman melakukan proses ini bisa dilakukan
dengan mudah yaitu dengan menambahkan dua(2) karakter plus(+) untuk proses
increment dan minus(-) pada proses decrement. Misalkan pada bahasa C
seperti kode berikut.
int main() {
int x = 3;
x++; // nilai x menjadi 4
x--; // nilai x kembali menjadi 3
return;
}
Bagaimana melakukannya pada scripting language seperti Bash, dulu saya berpikir bisa melakukannya dengan cara yang hampir sama dengan kebanyakan bahasa program pada umumnya seperti dibawah ini
# deklarasi variabel _var
_var=3
#increment _var
$_var++
Namun ternyata cara seperti itu justru menghasilkan error yang artinya tidak dikenali oleh bash sendiri, setelah saya baca beberapa tulisan di internet dan manual bash sendiri ada beberapa cara yang bisa dilakukan yaitu
-
Menggunakan perintah expr.
Cara ini cara yang pertama yang saya pelajari (man expr), contoh menggunakan exprdeklarasi variabel _var
_var=3
#increment _var
_var=$(expr $x + 1)
-
Menggunakan perintah let.
Meski menggunakan perintah let tapi perintah ini bukanlah suatu program melainkan built-in syntax dari Bash jadi perintah ini lebih cepat dari expr. Perintahnya mirip dengan kebanyakan bahasa programming lainnya dalam melakukan operasi increment.deklarasi variabel _var
_var=3
#increment _var
let '_var++'
-
Melakukan operasi didalam 2 tanda kurung.
Cara ketiga yaitu mirip dengan cara yang biasa dilakukan pada bahasa programming lainnya tapi perintah ini harus diapit oleh 2 tanda kurung, contohnya seperti dibawah inideklarasi variabel _var
_var=3
#increment _var
((_var++))
Secara pribadi saya sendiri lebih suka melakukannya dengan cara ketiga,
HINT:
-
Dalam memberikan nilai variabel dalam shell-scripting(bash) tidak boleh ada spasi antara nama variabel dan nilai yang diberikan.
Cara yang salah x = 5
Cara yang benar x=5 -
Jika menggunakan expr untuk perkalian adalah dengan menggunakan karakter bintang(*), agar bisa dikenali oleh expr maka harus ditambahkan karakter escape(\), contoh: expr $x \ 4.*