Unix / Linux - Kabuk Dizilerini Kullanma
Bu bölümde, Unix'te kabuk dizilerinin nasıl kullanılacağını tartışacağız. Bir kabuk değişkeni, tek bir değeri tutacak kadar yeteneklidir. Bu değişkenlere skaler değişkenler denir.
Kabuk, adı verilen farklı türde bir değişkeni destekler array variable. Bu aynı anda birden fazla değeri tutabilir. Diziler, bir dizi değişkeni gruplama yöntemi sağlar. Gereken her değişken için yeni bir ad oluşturmak yerine, diğer tüm değişkenleri saklayan tek bir dizi değişkeni kullanabilirsiniz.
Dizileri adlandırırken Kabuk Değişkenleri için tartışılan tüm adlandırma kuralları uygulanabilir.
Dizi Değerlerini Tanımlama
Bir dizi değişkeni ile bir skaler değişken arasındaki fark aşağıdaki gibi açıklanabilir.
Çeşitli öğrencilerin isimlerini bir dizi değişken olarak temsil etmeye çalıştığınızı varsayalım. Bireysel değişkenlerin her biri aşağıdaki gibi skaler bir değişkendir -
NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"
Yukarıda belirtilen tüm isimleri saklamak için tek bir dizi kullanabiliriz. Aşağıda, bir dizi değişkeni oluşturmanın en basit yöntemi verilmiştir. Bu, endekslerinden birine bir değer atamaya yardımcı olur.
array_name[index]=value
Burada dizi_adı , dizinin adıdır, dizin , dizideki ayarlamak istediğiniz öğenin dizinidir ve değer, bu öğe için ayarlamak istediğiniz değerdir.
Örnek olarak, aşağıdaki komutlar -
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
Eğer kullanıyorsanız ksh kabuk, işte dizi başlatmanın sözdizimi -
set -A array_name value1 value2 ... valuen
Eğer kullanıyorsanız bash kabuk, işte dizi başlatmanın sözdizimi -
array_name=(value1 ... valuen)
Dizi Değerlerine Erişim
Herhangi bir dizi değişkenini ayarladıktan sonra, ona aşağıdaki şekilde erişirsiniz -
${array_name[index]}
Burada dizi_adı , dizinin adıdır ve dizin , erişilecek değerin dizinidir. Aşağıda, kavramı anlamak için bir örnek verilmiştir -
#!/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]}"
Yukarıdaki örnek şu sonucu üretecektir -
$./test.sh
First Index: Zara
Second Index: Qadir
Bir dizideki tüm öğelere aşağıdaki yollardan biriyle erişebilirsiniz -
${array_name[*]} ${array_name[@]}
Buraya array_name ilgilendiğiniz dizinin adıdır. Aşağıdaki örnek, kavramı anlamanıza yardımcı olacaktır -
#!/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[@]}"
Yukarıdaki örnek şu sonucu üretecektir -
$./test.sh
First Method: Zara Qadir Mahnaz Ayan Daisy
Second Method: Zara Qadir Mahnaz Ayan Daisy