Cara Menggunakan Array pada Bash

Array merupakan salah satu tipe struktur data yang paling sering digunakan dalam dunia perkodingan. Dengan array ini, kalian bisa menyimpan banyak item di dalam satu variabel.

Panduan ini akan membahas tentang penggunaan array pada Bash dan operasi-operasi yang bisa dilakukan pada array Bash.

Mendeklarasikan Array

Syntax berikut ini berfungsi untuk mendeklarasikan array pada Bash:

fruits=("Rambutan" "Banana" "Durian" "Salak")

Berbeda dengan bahasa pemrograman lain, ketika mendeklarasikan array pada Bash, tidak boleh ada spasi di antara nama variabel, simbol =, dan isi variabelnya.

Jadi, syntax di bawah ini tidak valid untuk mendeklarasikan array pada Bash:

fruits = ("Rambutan" "Banana" "Durian" "Salak")

Mengakses Item

Untuk mengakses array pada Bash, kalian bisa mengakses itemnya dengan indeks bernilai positif dan negatif.

Misalnya, untuk mengakses item dari array dari depan, kalian harus menggunakan indeks bernilai positif dan urutan indeksnya dimulai dari 0.

echo "${fruits[1]}" # Banana

Gunakan indeks bernilai negatif untuk mengakses item array dari belakang dan urutannya harus dimulai dari -1.

echo "${fruits[-2]}" # Durian

Mengubah Nilai Item

Kalian bisa mengubah nilai item dari array pada Bash dengan syntax seperti ini:

fruits[0]="Nanas"

Pastikan jika nilai item di indeks pertama telah berubah:

echo "${Fruits[@]}" # Nanas Banana Durian Salak

Menghitung Jumlah Item

Syntax berikut ini berfungsi untuk menghitung jumlah item pada array Bash:

echo "${#fruits[@]}" # 4

Menambahkan Item

Menambahkan item ke awalan array:

fruits=("Melon" "${fruits[@]}")

Menambahkan item ke akhiran array:

fruits=("${fruits[@]}" "Melon")

Atau bisa juga menggunakan syntax ini untuk menambahkan item ke akhiran array:

fruits+=("Melon")

Menghapus Item

Kalian bisa menggunakan fitur bawaan dari Bash, yaitu unset untuk menghapus item dari sebuah Array.

Misalnya, syntax berikut ini berfungsi untuk menghapus item terakhir pada array:

unset fruits[-1]

Sedangkan untuk menghapus item pertama pada array:

unset fruits[0]

Memotong Array

Contoh syntax berikut ini berfungsi untuk memotong array dengan mengambil dua 2 item yang dimulai dari indeks 1.

echo "${fruits[@]:1:2}" # Banana Durian

Menggunakan Perulangan

Kalian bisa melakukan perulangan pada Array Bash menggunakan for.

for i in "${fruits[@]}"; do
  echo "$i"
done

Membuat Program Sederhana

Pada bagian ini, kita akan membuat program sederhana untuk mengunduh beberapa file dengan memanfaatkan array pada Bash.

Pertama, buat file list.txt untuk menyimpan daftar URL.

$ nano list.txt

Isi file tersebut dengan daftar URL yang akan diunduh.

URL1
URL2
URL3

Kemudian buat file batch_download.sh untuk menyimpan skrip Bash.

$ nano batch_download.sh

Isi file tersebut dengan skrip di bawah ini:

#!/bin/bash

list=($(cat list.txt))

for i in "${list[@]}"; do
  echo "sedang mengunduh $i"
  curl -LOJ "$i"
done

Simpan, kemudian beri permission agar bisa dieksekusi.

$ chmod +x batch_download.sh

Terakhir, jalankan skrip batch_download.sh

$ ./batch_download.sh