Bash Tutorial 6: Arrays
Daftar Isi:
- Array Bash
- Membuat Bash Array
- Membuat array yang diindeks secara numerik
- Membuat array asosiatif
- Operasi Array
- Elemen Referensi
- Panjang Array
- Loop melalui array
- Tambahkan elemen baru
- Hapus sebuah elemen
- Kesimpulan
Array adalah salah satu struktur data yang paling banyak digunakan dan mendasar. Anda dapat menganggap bahwa array adalah variabel yang dapat menyimpan banyak variabel di dalamnya., kami akan membahas array Bash, dan menjelaskan cara menggunakannya dalam skrip Bash Anda.
Array Bash
Bash mendukung tipe array numerik yang diindeks secara numerik dan asosiatif. Array numerik dirujuk menggunakan bilangan bulat, dan asosiatif direferensikan menggunakan string.
Array yang diindeks secara numerik dapat diakses dari ujung menggunakan indeks negatif, indeks
-1
merujuk elemen terakhir. Indeks tidak harus bersebelahan.
Tidak seperti kebanyakan bahasa pemrograman, elemen array Bash tidak harus dari tipe data yang sama. Anda bisa membuat larik yang berisi string dan angka.
Bash tidak mendukung array multidimensi, dan Anda tidak dapat memiliki elemen array yang juga array.
Tidak ada batasan jumlah elemen maksimum yang dapat disimpan dalam array.
Membuat Bash Array
Array dalam Bash dapat diinisialisasi dengan berbagai cara.
Membuat array yang diindeks secara numerik
Variabel Bash tidak diketik, variabel apa pun dapat digunakan sebagai array yang diindeks tanpa mendeklarasikannya.
Untuk secara eksplisit mendeklarasikan array, gunakan mendeklarasikan builtin:
declare -a array_name
Salah satu cara untuk membuat array yang diindeks adalah dengan menggunakan formulir berikut:
array_name=value_1 array_name=value_2 array_name=value_n
Di mana
index_*
adalah bilangan bulat positif.
Cara lain untuk membuat array numerik adalah dengan menentukan daftar elemen dalam tanda kurung, dipisahkan oleh ruang kosong:
array_name=(element_1 element_2 element_N)
Ketika array dibuat menggunakan formulir di atas, pengindeksan dimulai dari nol yaitu elemen pertama memiliki indeks
0
.
Membuat array asosiatif
Tidak seperti yang diindeks secara numerik, array asosiatif harus dideklarasikan sebelum dapat digunakan.
Untuk mendeklarasikan array asosiatif gunakan
declare
builtin dengan opsi
-A
(huruf besar):
declare -A array_name
Array asosiatif dapat dibuat menggunakan formulir berikut:
declare -A array_name array_name=value_foo array_name=value_bar array_name=value_xyz
Di mana
index_*
dapat berupa string apa pun.
Anda juga dapat membuat array asosiatif menggunakan formulir di bawah ini:
declare -A array_name array_name=(=value_foo =value_bar =value_xyz)
Operasi Array
Sintaks array bash mungkin terlihat sedikit aneh pada awalnya, tetapi akan lebih masuk akal setelah Anda membaca artikel ini.
Elemen Referensi
Untuk referensi elemen tunggal, Anda perlu tahu indeks elemen.
Setiap elemen dapat direferensikan menggunakan sintaks berikut:
${array_name}
Sintaks untuk mengakses elemen array mirip dengan sintaksis sebagian besar bahasa pemrograman. Kurung kurawal
${}
diperlukan untuk menghindari operator ekspansi nama file shell.
Mari kita cetak elemen dengan indeks
1
:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print element echo ${my_array}
Helium
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium
Satu-satunya perbedaan antara
@
dan
*
adalah ketika formulir
${my_array}
dikelilingi dengan tanda kutip ganda. Dalam hal ini,
*
meluas ke satu kata di mana elemen array dipisahkan dengan spasi.
@
memperluas setiap elemen array ke kata yang terpisah. Ini sangat penting ketika menggunakan formulir untuk buta huruf melalui elemen array.
Untuk mencetak kunci-kunci array tambahkan
!
operator sebelum nama array:
${!array_name}
Berikut ini sebuah contoh:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${!my_array}"
Panjang Array
Untuk mendapatkan panjang array, gunakan formulir berikut:
${#array_name}
Sintaksnya sama seperti ketika mereferensikan semua elemen dengan penambahan karakter
#
sebelum nama array.
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## array Length echo ${#my_array}
Loop melalui array
Cara paling umum untuk beralih pada setiap item dalam array adalah dengan menggunakan loop for:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${my_array}" do echo "$i" done
Kode di atas akan beralih ke array dan mencetak setiap elemen di baris baru:
Hydrogen Helium Lithium Beryllium
Berikut adalah contoh cara mencetak semua kunci dan nilai:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${!my_array}" do echo "$i" "${my_array}" done
0 Hydrogen 1 Helium 2 Lithium 3 Beryllium
Cara lain untuk mengulang melalui array adalah untuk mendapatkan panjang array dan menggunakan loop
C style
:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") # Length of the array length=${#my_array} # Array Loop for ((i=0; i < ${length}; i++)) do echo $i ${my_array} done
0 Hydrogen 1 Helium 2 Lithium 3 Beryllium
Tambahkan elemen baru
Untuk menambahkan elemen baru ke array bash dan menentukan indeksnya gunakan formulir berikut:
my_array="New Element"
Berikut ini sebuah contoh:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## add new element my_array="Aluminum" ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium Aluminum
Cara lain untuk menambahkan elemen baru ke array tanpa menentukan indeks adalah dengan menggunakan operator
+=
. Anda dapat menambahkan satu atau beberapa elemen:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## add new elements my_array+=(Cobalt Nickel) ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium Cobalt Nickel
Hapus sebuah elemen
Untuk menghapus satu elemen, Anda harus mengetahui indeks elemen. Elemen dapat dihapus menggunakan perintah
unset
:
unset my_array
Mari kita lihat sebuah contoh:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## remove element unset my_array ## print all elements echo "${my_array}"
Kesimpulan
Kami telah menjelaskan cara membuat array yang diindeks secara numerik dan asosiatif. Kami juga telah menunjukkan cara melakukan iterasi melalui array, menghitung panjang array, dan menambah dan menghapus elemen.
terminal bashHP Meluncurkan Array Lebar dari Notebook Yang Direkayasa Ulang, Menampilkan

Dalam salah satu rilis produk terbesarnya, HP meluncurkan perkumpulan PC dan display baru, pembatasan tentang tren utama seperti layar sentuh ...
Microsoft Research Asia Menyelenggarakan Gerbang di Bash 10 Tahun

Microsoft Research Asia telah berkembang dari belasan orang pada tahun 1998 menjadi lebih dari 350 satu dekade kemudian.
Barat Digital Wi-Fi extender menawarkan 3-oleh-3 antena array

WD mengklaim rentang extender memberikan lebih cepat dan Sinyal yang lebih andal