Pahami array Bash—cara mendeklarasikannya, memanipulasinya, dan menghapusnya.
Array adalah penyimpanan data yang digunakan untuk menyimpan nilai-nilai yang memiliki hubungan satu sama lain. Tidak seperti kebanyakan bahasa pemrograman, array Bash dapat menyimpan nilai tipe data berbeda dalam array yang sama.
Bash memiliki dua jenis array: array terindeks dan array asosiatif. Untuk array yang diindeks, indeksnya dimulai dari 0 hingga (n-1), seperti yang umum di sebagian besar bahasa. Namun, array di Bash jarang. Ini berarti Anda dapat menetapkan elemen array ke-(n-1) tanpa harus menetapkan elemen ke-(n-2).
Dalam tutorial ini, Anda akan mempelajari cara bekerja dengan array di Bash. Mari kita mulai.
Mendefinisikan Array
Ada tiga cara Anda dapat mendefinisikan array di Bash. Mirip dengan variabel Bash, array perlu diinisialisasi saat pembuatan. Satu-satunya pengecualian untuk ini adalah jika Anda menggunakan menyatakan kata kunci. Anda juga perlu memastikan bahwa tidak ada ruang tersisa di kedua sisi operator penugasan saat Anda menginisialisasi array.
Metode pertama adalah penetapan nilai gabungan ke nama array. Ada dua cara untuk melakukan ini:
arr1 = (3 5 6 7)
# or this
arr2 = ([3]=5 [1]=8 [0]=7)
Dalam penetapan gabungan pertama, nilai dalam tanda kurung bulat ditetapkan secara berurutan dari indeks [0] ke [3].
Namun, pada tahap kedua, nilai-nilai ditetapkan ke indeks dalam urutan apa pun yang ditunjukkan oleh pemrogram.
Terkait: Apa Itu Variabel Lingkungan di Linux? Semua yang Perlu Anda Ketahui
Jika Anda memperhatikannya dengan cermat arr2, Anda akan melihat indeks itu [2] ditinggalkan. Array akan tetap dibuat tanpa kesalahan apa pun. Penugasan ini sebenarnya adalah demonstrasi penyimpanan yang jarang dalam array Bash seperti yang telah kita bahas sebelumnya.
Perhatikan bahwa tidak ada koma yang memisahkan nilai array. Nilai-nilainya hanya dipisahkan oleh spasi.
Metode kedua mendeklarasikan array secara tidak langsung. Anda bisa mulai memberikan nilai ke elemen array nol:
arr3[0]=Toyota
arr3[1]=Honda
arr3[2]=Mercedes
Cara ketiga adalah dengan mendeklarasikan array secara eksplisit dengan kata kunci menyatakan:
declare -a arrayName
Operasi pada Array
Untuk mengakses elemen array, gunakan sintaks ini: ${array[indeks]}
fruits=(mango banana apples)
echo${fruits[1]}# output is banana
Jika Anda perlu mencetak seluruh array, gunakan @ simbol sebagai
indeks dari ${array[indeks]}:
echo${fruits[@]}
Untuk mengetahui jumlah elemen dalam array, gunakan # simbol seperti gambar di bawah ini:
echo ${#fruits[1]}
Anda mungkin juga perlu memodifikasi elemen array—lihat contoh di bawah tentang cara melakukannya. Ini mirip dengan cara Anda menambahkan elemen baru. Satu-satunya perbedaan adalah Anda mengganti nilai ke indeks yang sudah memiliki nilai.
fruits[1]=pears
Array Asosiatif
Array yang memiliki nilai arbitrer sebagai kuncinya disebut array asosiatif. Array ini digunakan untuk menyimpan pasangan nilai kunci terkait.
Terkait: Cara Mengubah Skrip Bash Menjadi Aplikasi yang Dapat Diklik Menggunakan AppleScript
Untuk mendefinisikan array asosiatif, Anda perlu melakukannya secara eksplisit menggunakan kata kunci menyatakan.
# associative array called animal
declare -A animal
animal[giraffe]=tall
animal[lion]=brave
animal[cheetah]=fast
Anda dapat mengakses elemen anggota dengan cara yang sama seperti Anda melakukan array yang diindeks:
echo${animal[lion]}
Jika Anda ingin mencetak semua nilai, Anda dapat menggunakan @ simbol seperti gambar di bawah ini:
echo${animal[@]}
Jika Anda ingin mencetak semua kunci array, Anda dapat menggunakan @ Dan ! simbol seperti yang ditunjukkan di bawah ini:
echo${!animal[@]}
Untuk menemukan jumlah elemen yang dimiliki array asosiatif, gunakan sintaksis yang sama dengan yang Anda gunakan pada array yang diindeks (ditunjukkan di bagian terakhir).
Jika Anda ingin menghapus item array atau seluruh array, gunakan sintaks di bawah ini:
unset arrayName[Key] # delete array item
unset arrayName # delete entire array
Menggunakan Perintah printf
Anda mungkin telah memperhatikan bahwa seluruh artikel ini menggunakan gema perintah untuk mengeluarkan data ke shell. Itu gema perintah berfungsi untuk tutorial ini tetapi memiliki sedikit fitur dan fleksibilitas dalam hal pemformatan string.
Namun, itu printf perintah menawarkan opsi pemformatan yang lebih spesifik yang membuat skrip Bash menjadi mudah. Mempelajari printf fungsi pasti akan meningkatkan pengalaman dan efisiensi pemformatan string Anda di Bash.