GNU/Linux >> Belajar Linux >  >> Linux

Cara Menaikkan dan Menurunkan Variabel di Bash (Penghitung)

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.


Linux
  1. Cara memprogram dengan Bash:Sintaks dan alat

  2. Bagaimana Cara Melakukan `head` Dan `tail` Pada Input Null-delimited Di Bash?

  3. Counter increment di Bash loop tidak berfungsi

  1. Cara Menyesuaikan Warna Bash dan Konten di Prompt Terminal Linux

  2. Variabel Lingkungan Linux:Cara Membaca dan Mengatur di VPS Linux

  3. C Tutorial Baris Perintah 6 - Indentasi kode, operator kenaikan/penurunan, do-while dan for loop, dan banyak lagi

  1. Bagaimana Mengubah Nama Variabel Bash Dalam Loop Dan Kemudian Memperluas Nama yang Diubah?

  2. Cara Membuat dan Memanggil Fungsi di Bash

  3. Bagaimana cara menguji apakah suatu variabel adalah angka di Bash?