GNU/Linux >> Belajar Linux >  >> Linux

Array dalam Script Shell

Mengetahui cara bekerja dengan array dalam skrip shell akan membantu Anda bekerja dengan kumpulan data yang lebih besar dengan cara yang jauh lebih efisien. Tapi apa itu array dan bagaimana Anda bisa membuat array? Ayo cari tahu!

Apa itu Array?

Jika Anda sudah memiliki pemahaman dasar tentang bahasa pemrograman apa pun, Anda pasti tahu apa itu array. Namun bagi yang belum tahu, mari kita bahas dasar-dasar array dan pelajari cara menggunakannya.

Variabel menyimpan elemen data tunggal. Array, di sisi lain, dapat menyimpan elemen data dalam jumlah yang hampir tidak terbatas. Saat bekerja dengan sejumlah besar data, variabel terbukti sangat tidak efisien dan sangat membantu untuk langsung menggunakan array.

Mari pelajari cara membuat array di skrip shell.

Membuat Array dalam Skrip Shell

Ada dua jenis array yang bisa kita gunakan, dalam skrip shell.

  • Array Terindeks – Simpan elemen dengan indeks mulai dari 0
  • Array Asosiatif – Simpan elemen dalam pasangan nilai kunci

Array default yang dibuat adalah array yang diindeks. Jika Anda menentukan nama indeks, itu menjadi array asosiatif dan elemen dapat diakses menggunakan nama indeks, bukan angka.

Mendeklarasikan Array:

root@ubuntu:~# declare -A assoc_array
root@ubuntu:~# assoc_array[key]=value
OR
root@ubuntu:~# declare -a indexed_array
root@ubuntu:~# indexed_array[0]=value

Perhatikan huruf besar dan huruf kecil a . Huruf besar A digunakan untuk mendeklarasikan array asosiatif dengan huruf kecil a digunakan untuk mendeklarasikan array yang diindeks.

declare kata kunci digunakan untuk mendeklarasikan array secara eksplisit tetapi Anda tidak benar-benar perlu menggunakannya. Saat membuat array, Anda cukup menginisialisasi nilai berdasarkan tipe array yang Anda inginkan tanpa mendeklarasikan array secara eksplisit.

Bekerja dengan Array dalam Skrip Shell

Sekarang setelah Anda mengetahui cara membuat array, mari pelajari cara bekerja dengan array. Karena ini adalah kumpulan elemen data, kita dapat bekerja dengan loop dan array secara bersamaan untuk mengekstrak titik data yang diperlukan.

1. Mengakses Elemen Array Secara Individual

Karena kita tahu bahwa setiap titik data sedang diindeks secara individual, kita dapat mengakses semua elemen array dengan menentukan indeks array seperti yang ditunjukkan di bawah ini:

assoc_array[element1]="Hello World"
echo ${assoc_array[element1]}

Demikian pula, mari kita mengakses beberapa elemen array yang diindeks. Kita dapat menentukan semua elemen untuk larik indeks dengan membatasi dengan spasi karena indeks dibuat secara otomatis untuk setiap elemen tersebut.

index_array=(1 2 3 4 5 6)
echo ${index_array[0]}

Seperti yang Anda lihat, elemen pertama secara otomatis dicetak berdasarkan indeks 0.

2. Membaca Elemen Array Secara Berurutan

Ini akan menjadi tugas yang mudah jika Anda sudah mengetahui perulangan. Jika tidak, kami akan membahasnya di tutorial mendatang. Kami akan menggunakan while atau for loop dalam skrip shell untuk bekerja melalui elemen array. Salin skrip di bawah ini dan simpan sebagai .sh

#!/bin/bash
index_array=(1 2 3 4 5 6 7 8 9 0)

for i in ${index_array[@]}
do
        echo $i
done

Script di atas akan menampilkan sebagai berikut:

Sekarang Anda mungkin telah memperhatikan index_array[@] dan jika Anda bertanya-tanya apa @ simbol untuk, kita akan membahas hal yang sama sekarang.

Operasi Bawaan untuk Array dalam Skrip Shell

Sekarang setelah Anda mempelajari cara mengakses elemen satu per satu dan menggunakan for loop, mari pelajari berbagai operasi yang tersedia secara default untuk array.

1. Akses Semua Elemen Array

Kami belajar cara mengakses elemen dengan menyediakan indeks atau kunci array. Tetapi jika kita ingin mencetak semua elemen secara bersamaan atau bekerja dengan semua elemen, kita dapat menggunakan operator lain yaitu [@] simbol.

Seperti yang Anda perhatikan pada contoh di atas, saya menggunakan simbol ini ketika saya ingin mengulang semua elemen array menggunakan for loop.

echo ${assoc_array[@]}

Di atas akan mencetak semua elemen yang disimpan dalam array assoc.

2. Hitung Jumlah Elemen dalam Array

Mirip dengan @ simbol di atas, kami memiliki # simbol yang dapat diawali dengan nama array untuk memberi kita jumlah elemen yang disimpan dalam array. Mari kita lihat cara kerjanya.

echo ${#index_array[@]}

Jika Anda ingin menghitung jumlah karakter yang digunakan untuk elemen tertentu, kita cukup mengganti @ simbol dengan indeks.

3. Hapus Elemen Array Individu

Kami tahu cara menambahkan elemen array dan mencetaknya juga. Mari pelajari cara menghapus elemen tertentu. Untuk tujuan ini, kami akan menggunakan unset kata kunci.

unset index_array[1]

Ganti nama array dan ID indeks pada contoh kode di atas dan Anda telah menghapus elemen array yang Anda inginkan. Cukup sederhana bukan?

Kesimpulan

Skrip shell cukup luas dan dapat menggantikan fungsi apa pun yang dapat Anda lakukan di terminal dengan orang yang tepat yang menulis skrip. Beberapa fungsi tambahan array dalam skrip shell juga mencakup kemampuan untuk bekerja dengan regex (Ekspresi Reguler). Kita dapat menggunakan berbagai ekspresi reguler untuk memanipulasi elemen array dalam skrip shell.

Untuk saat ini, kami berharap Anda memiliki pemahaman yang baik tentang membuat dan bekerja dengan array dan akan dapat menggunakan array dalam skrip Anda. Komentar di bawah untuk memberi tahu kami pendapat Anda, dan jika Anda memiliki pertanyaan tentang topik ini.


Linux
  1. Izinkan Setuid Pada Skrip Shell?

  2. Jalankan semua skrip shell di folder

  3. Menjalankan skrip dari direktori lain

  1. Array Di Unix Bourne Shell?

  2. Menyembunyikan Kata Sandi Dalam Skrip Shell?

  3. Berbagi Variabel di Beberapa Skrip Shell?

  1. Array Asosiatif Dalam Skrip Shell?

  2. Bagaimana Menguji Kepatuhan Posix Dari Skrip Shell?

  3. Memisahkan Perintah Panjang Dalam Skrip Shell?