at 9:19 PM

Shell Scripting: Increment dan Decrement nilai dengan Bash

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

  1. Menggunakan perintah expr.
    Cara ini cara yang pertama yang saya pelajari (man expr), contoh menggunakan expr
    # deklarasi variabel _var
    _var=3
    
    #increment _var
    _var=$(expr $x + 1)
    
  2. 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++'
    
  3. 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 ini
    # deklarasi 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.

Tulis Komentar dengan akun Facebook Anda.

0 comments:

Post a Comment