Unix / Linux - Menggunakan Array Shell

Pada bab ini, kita akan membahas bagaimana menggunakan array shell di Unix. Variabel shell cukup mampu untuk menyimpan satu nilai. Variabel ini disebut variabel skalar.

Shell mendukung jenis variabel berbeda yang disebut array variable. Ini dapat menampung banyak nilai pada saat yang bersamaan. Array menyediakan metode pengelompokan sekumpulan variabel. Alih-alih membuat nama baru untuk setiap variabel yang diperlukan, Anda dapat menggunakan variabel array tunggal yang menyimpan semua variabel lainnya.

Semua aturan penamaan yang dibahas untuk Variabel Shell akan berlaku saat menamai array.

Mendefinisikan Nilai Array

Perbedaan antara variabel array dan variabel skalar dapat dijelaskan sebagai berikut.

Misalkan Anda mencoba merepresentasikan nama-nama berbagai siswa sebagai satu set variabel. Masing-masing variabel individu adalah variabel skalar sebagai berikut -

NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"

Kita dapat menggunakan satu larik untuk menyimpan semua nama yang disebutkan di atas. Berikut adalah metode paling sederhana untuk membuat variabel array. Ini membantu menetapkan nilai ke salah satu indeksnya.

array_name[index]=value

Di sini nama_larik adalah nama larik, indeks adalah indeks item dalam larik yang ingin Anda setel, dan nilai adalah nilai yang ingin Anda tetapkan untuk item itu.

Sebagai contoh, perintah berikut -

NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"

Jika Anda menggunakan ksh shell, berikut adalah sintaks dari inisialisasi array -

set -A array_name value1 value2 ... valuen

Jika Anda menggunakan bash shell, berikut adalah sintaks dari inisialisasi array -

array_name=(value1 ... valuen)

Mengakses Nilai Array

Setelah Anda menetapkan variabel array apa pun, Anda mengaksesnya sebagai berikut -

${array_name[index]}

Di sini nama_larik adalah nama dari larik, dan indeks adalah indeks dari nilai yang akan diakses. Berikut adalah contoh untuk memahami konsep -

#!/bin/sh

NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Index: ${NAME[0]}"
echo "Second Index: ${NAME[1]}"

Contoh di atas akan menghasilkan hasil sebagai berikut -

$./test.sh
First Index: Zara
Second Index: Qadir

Anda dapat mengakses semua item dalam larik dengan salah satu cara berikut -

${array_name[*]}
${array_name[@]}

Sini array_name adalah nama larik yang Anda minati. Contoh berikut akan membantu Anda memahami konsep -

#!/bin/sh

NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Method: ${NAME[*]}"
echo "Second Method: ${NAME[@]}"

Contoh di atas akan menghasilkan hasil sebagai berikut -

$./test.sh
First Method: Zara Qadir Mahnaz Ayan Daisy
Second Method: Zara Qadir Mahnaz Ayan Daisy