Salah satu operasi aritmatika yang paling umum saat menulis skrip Bash adalah menambah dan mengurangi variabel. Ini paling sering digunakan dalam loop sebagai penghitung, tetapi juga dapat terjadi di tempat lain dalam skrip.
Incrementing and Decrementing berarti menambah atau mengurangi nilai (biasanya 1
), masing-masing, dari nilai variabel numerik. Perluasan aritmatika dapat dilakukan dengan menggunakan tanda kurung ganda ((...))
dan $((...))
atau dengan let
perintah bawaan.
Di Bash, ada beberapa cara untuk menambah/mengurangi variabel. Artikel ini menjelaskan beberapa di antaranya.
Menggunakan +
dan -
Operator #
Cara paling sederhana untuk menambah/mengurangi variabel adalah dengan menggunakan +
dan -
operator.
i=$((i+1))
((i=i+1))
let "i=i+1"
i=$((i-1))
((i=i-1))
let "i=i-1"
Metode ini memungkinkan Anda menambah/mengurangi variabel dengan nilai apa pun yang Anda inginkan.
Berikut adalah contoh penambahan variabel dalam until
lingkaran:
i=0
until [ $i -gt 3 ]
do
echo i: $i
((i=i+1))
done
i: 0
i: 1
i: 2
i: 3
The +=
dan -=
Operator #
Selain operator dasar yang dijelaskan di atas, bash juga menyediakan operator penugasan +=
dan -=
. Operator ini digunakan untuk menambah/mengurangi nilai operan kiri dengan nilai yang ditentukan setelah operator.
((i+=1))
let "i+=1"
((i-=1))
let "i-=1"
Di bawah while
loop, kami mengurangi nilai i
variabel dengan 5
.
i=20
while [ $i -ge 5 ]
do
echo Number: $i
let "i-=5"
done
Number: 20
Number: 15
Number: 10
Number: 5
Menggunakan ++
dan --
Operator #
++
dan --
operator kenaikan dan penurunan, masing-masing, operan dengan 1
dan kembalikan nilainya.
((i++))
((++i))
let "i++"
let "++i"
((i--))
((--i))
let "i--"
let "--i"
Operator dapat digunakan sebelum atau sesudah operan. Mereka juga dikenal sebagai:
- peningkatan awalan:
++i
- penurunan awalan:
--i
- peningkatan postfix:
i++
- penurunan postfix:
i--
Operator awalan menambah/mengurangi operator dengan 1
dan kemudian mengembalikan nilai baru dari operator. Di sisi lain, operator postfix mengembalikan nilai operator sebelum ditambah/dikurangi.
Jika hanya ingin menambah/mengurangi variabel, maka tidak ada bedanya jika menggunakan operator prefix atau postfix. Itu membuat perbedaan hanya jika hasil dari operator digunakan dalam beberapa operasi lain atau ditugaskan ke variabel lain.
Contoh berikut menunjukkan bagaimana ++
operator bekerja ketika digunakan sebelum dan sesudah operan:
x=5
y=$((x++))
echo x: $x
echo y: $y
x: 6
y: 5
x=5
y=$((++x))
echo x: $x
echo y: $y
x: 6
y: 6
Di bawah ini adalah contoh cara menggunakan incrementor postfix dalam skrip bash:
#!/bin/bash
i=0
while true; do
if [[ "$i" -gt 3 ]]; then
exit 1
fi
echo i: $i
((i++))
done
Kerugian menggunakan operator ini adalah variabel hanya dapat ditambah atau dikurangi dengan 1
.
Kesimpulan #
Menambah dan mengurangi variabel di Bash dapat dilakukan dengan berbagai cara. Apapun metode yang Anda gunakan, hasilnya tetap sama.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.