GNU/Linux >> Belajar Linux >  >> Linux

Array asosiatif di Bash

Setiap programmer tahu betapa pentingnya variabel. Variabel bertindak sebagai stasiun jalan untuk pembuat kode/programmer di mana mereka meneruskan informasi bolak-balik. Variabel umumnya sangat penting dalam komputasi karena memungkinkan kode menjadi dinamis. Dalam istilah lain, variabel disebut sebagai penampung informasi yang berubah berulang kali tergantung pada penggunaannya. Namun, masalah signifikan yang memengaruhi sebagian besar pembuat kode dan pemrogram adalah melacak banyak variabel dalam suatu proyek.

Ini cenderung menjadi gangguan bagi sebagian besar programmer di lapangan. Ada satu solusi utama untuk masalah ini yaitu array. Array dalam pemrograman dikenal sebagai struktur data yang menyimpan elemen dengan tipe data yang sama. Array sangat ideal dalam penyimpanan kumpulan data. Array sangat penting untuk hampir semua bahasa pengkodean, tidak melupakan bahasa skrip seperti Bash. Artikel ini akan lebih berkonsentrasi pada array asosiatif di Bash.

Bahasa skrip Shell dikenal menawarkan kemampuan kepada pengguna untuk membuat, membuat kueri, memperbarui, dan memanipulasi array yang diindeks. Jangan bingung dengan istilah array yang diindeks karena ini adalah daftar item yang diawali dengan angka. Daftar ditambah nomor yang ditetapkan dibungkus dalam variabel, sehingga mudah untuk menyajikan kode Anda.

Array asosiatif di Bash

Bahasa skrip Bash memiliki keuntungan tambahan karena dapat membuat array asosiatif, dan memperlakukan array sebagai array normal. Fungsi utama array asosiatif memungkinkan pengguna mengembangkan daftar yang berisi kunci/indeks dan nilai, bukan hanya nilai bernomor. Fitur array asosiatif telah disertakan dalam bash 4, artinya sebelum kita mulai, kita akan melihat versi Bash saat ini menggunakan baris perintah di bawah ini:

bash --version

Keluaran

Jika versi bash Anda bukan versi 4 ke atas, Anda harus memperbaruinya agar berfungsi. Jangan khawatir karena langkah-langkah yang terlibat sangat mudah. Bash dapat diperbarui di server Ubuntu menggunakan perintah apt-get yang terkenal. Beberapa pengguna mungkin perlu memutakhirkan Bash mereka, dan untuk melakukannya, buka terminal Anda dan jalankan perintah berikut:

sudo apt-get install --only-upgrade Bash

Perintah akan memperbarui bash shell ke versi terbaru di sistem operasi Ubuntu Anda. Untuk memastikan bahwa pembaruan berhasil, jalankan perintah di atas untuk memeriksa versi bash shell yang diinstal/diperbarui (Bash –versi). Perintah ini akan mencetak konsol dengan versi bash shell saat ini di server Ubuntu Anda.
Jika, dalam beberapa kasus, Anda tidak menginstal Bash di server Ubuntu Anda, jangan panik. Jalankan perintah di bawah ini untuk menginstal Bash:

sudo apt update
sudo apt install bash

Deklarasi dan Inisialisasi Array Asosiatif

Di Bash, array asosiatif dapat dideklarasikan menggunakan kata kunci 'deklarasikan.' Elemen array, di sisi lain, dapat diinisialisasi selama deklarasi array atau setelah deklarasi variabel. Script di bawah ini akan membuat sebuah array bernama assArray1, dan empat nilai array lainnya diinisialisasi secara individual seperti yang ditunjukkan

declare -A assArray1
assArray1[fruit]=Mango
assArray1[bird]=Cockatail
assArray1[flower]=Rose
assArray1[animal]=Tiger

Keluaran

Selama deklarasi array, skrip berikut bernama assArray2 akan menginisialisasi array asosiatif. Pada saat deklarasi, tiga nilai array dengan kunci didefinisikan.

declare -A assArray2=( [HDD]=Samsung [Monitor]=Dell [Keyboard]=A4Tech )

Keluaran

Cara Mengakses Array Asosiatif

Ada dua bentuk yang pengguna dapat mengakses array asosiatif. Pertama, mereka dapat diakses secara individual, dan kedua, mereka dapat diakses menggunakan loop. Jangan khawatir tentang cara-cara yang disebutkan di atas karena akan dibahas dalam tutorial. Harap dicatat bahwa kunci dan nilai array dapat dicetak bersama-sama atau terpisah. Dengan menentukan nilai kunci, baris perintah di bawah ini akan mencetak dua nilai larik. Kami akan menggunakan assArray1 untuk mengilustrasikannya.

echo ${assArray1[bird]}
echo ${assArray1[flower]}

Keluaran

Anda akan melihat layar yang mirip dengan yang di bawah ini setelah menjalankan baris perintah yang disorot di atas.

Saat mencetak, terkadang Anda akan diminta untuk mencetak semua kunci dan nilai larik. Ini dapat dilakukan dengan menggunakan ekspansi perimeter bash atau loop. Pertama, mari kita lihat pencetakan menggunakan loop. Jika Anda pernah ke kelas pemrograman sebelumnya, Anda pasti sering menemukan istilah ini. Jalankan perintah di bawah ini untuk mencetak semua kunci dan nilai larik.

for key in "${!assArray1[@]}"; do echo $key; done

Keluaran

Perintah berikut akan menggunakan perluasan parameter bash untuk mencetak semua kunci dan nilai larik

echo "${!assArray1[@]}"

Keluaran

Catatan:simbol '!' di kedua perintah digunakan untuk membaca kunci array asosiatif.

Oleh karena itu, kita telah melihat bahwa semua nilai array dapat dicetak menggunakan ekspansi parameter bash atau loop. Di bawah ini adalah contoh lain untuk menguraikan penggunaan kedua metode tersebut. Perintah pertama akan mencetak nilai larik menggunakan loop, sedangkan perintah kedua akan mencetak nilai larik menggunakan perluasan parameter bash.

for val in "${assArray1[@]}"; do echo $val; done

Keluaran

echo "${assArray1[@]}"

Keluaran

Catatan:metode loop dapat digunakan untuk mencetak kunci dan nilai dari array asosiatif. Sebagai ilustrasi, kita akan menggunakan array pertama kita, assArray1. Dalam metode ini, setiap kunci array harus diurai di setiap langkah perulangan. Kunci yang digunakan kemudian digunakan sebagai indeks larik yang membantu membaca nilai kunci yang sesuai.
Jalankan baris perintah di bawah

for key in "${!assArray1[@]}"; do echo "$key => ${assArray1[$key]}"; done

Keluaran

Cara Menambahkan Data ke Array Asosiatif

Setelah deklarasi dan inisialisasi array, penambahan elemen array baru ke array asosiatif dimungkinkan. Menggunakan array kedua kami, assArray2, nilai baru, "HP" dan kunci "Mouse" akan ditambahkan ke array, setelah itu elemen array saat ini akan diperiksa ulang. Untuk menyelesaikan langkah-langkah yang disebutkan di atas, jalankan perintah berikut

echo "${assArray2[@]}"
assArray2+=([Mouse]=Logitech)
echo "${assArray2[@]}"

Keluaran

Anda akan memiliki output yang mirip dengan yang di bawah ini setelah menjalankan perintah di atas.

Cara Menghapus Data Dari Array Asosiatif

Berdasarkan nilai kunci, nilai elemen dalam array asosiatif dapat dihapus. Saat menghapus data, perintah 'unset' berguna. Perintah menghapus data tertentu dalam array asosiatif. Misalnya, dari assArray2 kita, mari kita hapus nilai yang berisi kunci 'Monitor'. Perintah akan memeriksa apakah nilainya memiliki kunci 'Monitor.' Kemudian, dengan bantuan perintah yang tidak disetel, nilainya akan dihapus. Perintah 'echo' digunakan untuk memeriksa dan memastikan apakah nilainya sudah dihapus atau belum.

unset assArray2[Monitor]
echo ${assArray2[Monitor]}

Keluaran

Jika perintah berjalan dengan sukses, Anda akan memiliki output yang mirip dengan yang disorot di bawah ini

Cara Menemukan Indeks yang Hilang dalam Array Asosiatif

Pernyataan bersyarat, dalam hal ini, sangat penting karena membantu mengetahui apakah ada indeks yang hilang dalam array. Misalnya, kita dapat memeriksa kunci array 'Monitor' yang baru saja kita hapus. Untuk melakukannya, kita akan menjalankan perintah pernyataan if untuk memeriksa apakah kunci ada atau tidak. Ingat, kami menghapus kunci dari contoh kami sebelumnya. Oleh karena itu, nilai salah harus dicetak.

if [ ${assArray2[Monitor]+_} ]; then echo "Found"; else echo "Not found"; fi

Keluaran

Cara Menghapus Array Asosiatif

Perintah 'unset' yang digunakan untuk menghapus data dari array asosiatif juga digunakan untuk menghapus array asosiatif. Dalam contoh ini, kita akan menggunakan array pertama kita, yaitu assArray1. Perintah pertama akan mencetak nilai array. Perintah kedua yang berisi perintah 'unset' akan menghapus array. Perintah terakhir akan memeriksa apakah array ada atau tidak. Jika array berhasil dihapus, maka tidak akan ada apa pun di konsol keluaran.

echo "${assArray1[@]}"
unset assArray1
echo "${assArray1[@]}"

Keluaran

Array Data

Untuk penyimpanan data terkait, array sangat penting. Anda mungkin diminta untuk menggunakan variabel untuk menyimpan data, tetapi itu bukan cara yang paling tepat untuk menyimpan dan melacak trek data besar. Oleh karena itu, agar data Anda lebih terindeks dan terkonsolidasi, Anda harus menggunakan array. Selain itu, penggunaan array untuk menyimpan dan melacak data yang besar lebih efisien daripada penggunaan variabel. Array tidak memerlukan entri untuk eksis seperti dalam variabel. Anda tidak perlu khawatir tentang jumlah pasti data yang akan disimpan sebelum mengerjakannya. Itu membuat array menguntungkan ketika berhadapan dengan data yang luas dan tidak dapat diprediksi. Singkatnya, array jauh lebih kuat daripada variabel, dan biasanya digunakan di sebagian besar bahasa pemrograman dan bahasa skrip seperti Bash.

Kesimpulan

Menggunakan array asosiatif untuk penyimpanan data sangat penting saat menyimpan data masif yang berisi pasangan nilai kunci di Bash. Artikel ini telah membahas cara mendeklarasikan dan menginisialisasi array asosiatif, mengurai kunci dan nilai array, menambah dan menghapus elemen array, menghapus array asosiatif, dan array data. Oleh karena itu, kami berharap semua pembaca kami sekarang dapat menerapkan semua topik yang dibahas untuk meningkatkan pengetahuan dan pemahaman mereka tentang array asosiatif. Cobalah sekarang.


Linux
  1. Kurung Tunggal Dalam Penugasan Variabel Bash?

  2. Bash Array Dari Array?

  3. Dapatkan Semua File Tapi File Dalam Array – Bash?

  1. Bash Array Dengan Contoh

  2. Tutorial Bash Array Terbaik dengan 15 Contoh

  3. Array di Bash Tidak Ditemukan

  1. konversi keluaran bash `ls` ke array json

  2. Buat array dengan semua antarmuka jaringan di bash

  3. cara menggeser nilai array di bash