Bash Tutorial 6: Arrays
Isi kandungan:
- Bash Arrays
- Membuat Bash Arrays
- Mewujudkan array diindeks berangka
- Mewujudkan tatasusunan bersekutu
- Operasi Array
- Elemen Rujukan
- Panjang Array
- Gelung melalui array
- Tambah elemen baharu
- Padamkan unsur
- Kesimpulannya
Array adalah salah satu daripada struktur data yang paling digunakan dan asas. Anda boleh memikirkan array adalah pemboleh ubah yang boleh menyimpan beberapa pembolehubah di dalamnya., kami akan menampung aras Bash, dan menerangkan cara menggunakannya dalam skrip Bash anda.
Bash Arrays
Bash menyokong satu dimensi berangka berangka dan bersekutu mengikut jenis. Arahan berangka dirujuk menggunakan integer, dan asosiatif dirujuk menggunakan rentetan.
Arahan indeks secara berangka boleh diakses dari hujung menggunakan indeks negatif, indeks
-1
merujuk kepada unsur terakhir. Indeks tidak perlu bersebelahan.
Tidak seperti kebanyakan bahasa pengaturcaraan, elemen array Bash tidak perlu mempunyai jenis data yang sama. Anda boleh membuat array yang mengandungi kedua-dua rentetan dan nombor.
Bash tidak menyokong array multidimensi, dan anda tidak boleh mempunyai unsur array yang juga array.
Tiada had pada bilangan maksimum unsur yang boleh disimpan dalam tatasusunan.
Membuat Bash Arrays
Array dalam Bash boleh dimulakan dengan cara yang berbeza.
Mewujudkan array diindeks berangka
Pemboleh ubah bash tidak diingip, pemboleh ubah boleh digunakan sebagai array terindeks tanpa mengisytiharkannya.
Untuk mengisytiharkan pelbagai array dengan jelas, gunakan terbitkan builtin:
declare -a array_name
Satu cara untuk membuat array yang diindeks ialah dengan menggunakan borang berikut:
array_name=value_1 array_name=value_2 array_name=value_n
Di mana
index_*
adalah integer positif.
Cara lain untuk membuat array berangka ialah menentukan senarai unsur dalam kurungan, dipisahkan oleh ruang kosong:
array_name=(element_1 element_2 element_N)
Apabila array dicipta menggunakan borang di atas, pengindeksan bermula pada sifar iaitu elemen pertama mempunyai indeks
0
.
Mewujudkan tatasusunan bersekutu
Tidak seperti diindeks secara berangka, tatasusunan bersekutu mesti diisytiharkan sebelum mereka boleh digunakan.
Untuk mengisytiharkan penggunaan pelbagai bersekutu,
declare
terbina dengan pilihan
-A
(huruf besar):
declare -A array_name
Arahan persatuan boleh dibuat menggunakan bentuk berikut:
declare -A array_name array_name=value_foo array_name=value_bar array_name=value_xyz
Di mana
index_*
boleh ada rentetan.
Anda juga boleh membuat pelbagai bersekutu menggunakan borang di bawah:
declare -A array_name array_name=(=value_foo =value_bar =value_xyz)
Operasi Array
Sintaks Bash arrays mungkin kelihatan sedikit pelik pada mulanya, tetapi akan lebih masuk akal apabila anda membaca artikel ini.
Elemen Rujukan
Untuk merujuk kepada satu elemen, anda perlu mengetahui indeks elemen.
Mana-mana elemen boleh dirujuk menggunakan sintaks berikut:
${array_name}
Sintaks untuk mengakses elemen array adalah serupa dengan sintaks kebanyakan bahasa pengaturcaraan. Kurungan kerinting
${}
diperlukan untuk mengelakkan pengendali pengembangan nama fail shell.
Mari 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 perbezaan antara
@
dan
*
adalah apabila borang
${my_array}
dikelilingi dengan petikan berganda. Dalam kes ini,
*
mengembang ke satu perkataan di mana unsur array dipisahkan dengan ruang.
@
memperluaskan setiap elemen array kepada perkataan berasingan. Ini amat penting apabila menggunakan borang tersebut untuk mewajarkan unsur-unsur array.
Untuk mencetak kekunci array tambah
!
pengendali sebelum nama pelbagai:
${!array_name}
Inilah contohnya:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${!my_array}"
Panjang Array
Untuk mendapatkan panjang array, gunakan bentuk berikut:
${#array_name}
Sintaks adalah sama seperti apabila merujuk semua elemen penambahan aksara
#
sebelum nama array.
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## array Length echo ${#my_array}
Gelung melalui array
Cara yang paling biasa untuk meleraikan setiap item dalam array adalah dengan menggunakan gelung untuk:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${my_array}" do echo "$i" done
Kod di atas akan melintang di atas array dan mencetak setiap elemen dalam baris baru:
Hydrogen Helium Lithium Beryllium
Berikut adalah contoh cara mencetak semua kekunci 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
Satu lagi cara untuk gelung melalui array adalah untuk mendapatkan panjang array dan menggunakan gelung
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
Tambah elemen baharu
Untuk menambah elemen baru pada array bash dan tentukan indeksnya menggunakan borang berikut:
my_array="New Element"
Inilah contohnya:
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
Satu lagi cara untuk menambah elemen baru pada array tanpa menentukan indeks adalah dengan menggunakan operator
+=
. Anda boleh menambah 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
Padamkan unsur
Untuk memadamkan satu elemen, anda perlu mengetahui indeks elemen. Satu elemen boleh dialih keluar menggunakan perintah
unset
:
unset my_array
Mari lihat contoh:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## remove element unset my_array ## print all elements echo "${my_array}"
Kesimpulannya
Kami telah menerangkan cara membuat array terindex dan bersekutu berangka. Kami juga memperlihatkan bagaimana untuk melewatinya melalui array, mengira panjang array, dan menambah dan menghapus elemen.
terminal bashGunakan arahan arahan untuk membakar fail ISO di Windows 10
Ketahui cara membakar imej ISO ke CD atau DVD menggunakan Prompt Perintah di Windows 10/8/7. Ini akan membawa Windows Disc Image Burner atau isoburn.exe.
Bagaimana untuk membuka suatu arahan arahan yang tinggi menggunakan CMd
Petua geek! Sekiranya anda perlu membuka suatu arahan arahan yang tinggi, anda boleh menggunakan perintah berikut yang biasa, anda boleh melakukannya dengan menggunakan arahan berikut.
11 Barisan arahan arahan Brilliant (cmd) yang anda tidak tahu
Check Out 11 Command Prompt Brilliant (cmd) Trik Anda Mungkin Tidak Tahu Tentang.







