Diziler
Önceki VI. Oylum - Bash'in Özellikleri Sonraki
Diziler
Bash tek boyutlu dizi değişkenleri sağlar. Her değişken dizi olarak kullanılabilir; declare yerleşiği bir diziyi doğrudan bildirecektir. Bir dizi için ne bir azami boyut vardır ne de üyelerinin indislenmesi ya da peşpeşe atanması gereklidir. Dizilerin ilk indisi sıfırdır.
Bir değişken aşağıdaki sözdizimi kullanılarak atanırsa, bir dizi otomatikman oluşturulmuş olur:
    isim[indis]=değer
indis değerlendirildiğinde sıfıra eşit ya da büyük bir sayı olması gereken bir aritmetik ifade olarak ele alınır. Bir dizi doğrudan aşağıdaki gibi bildirilebilir:
    declare -a isim
Ayrıca bu söz dizimi de kabul edilir:
    declare -a isim[indis]
indis yoksayılır. Bir dizi değişkeni için öznitelikler declare ve readonly yerleşikleri ile belirtilebilir. Her öznitelik dizinin tüm üyelerine uygulanır.
Diziler aşağıdaki gibi birleşik atamalar kullanılarak atanabilir.
    isim=(değer1 ... değerN)
Burada her değer, [[indis]=]dizge biçemindedir. İsteğe bağlı olan indis verilirse, indis atanmış olur; aksi takdirde atanan elemanın indisi deyim tarafından atanan son indis artı birdir. İndisleme sıfırdan başlar. Bu sözdizimi ayrıca declare yerleşiği tarafından da kabul edilir. Tek tek dizi elemanları isim[indis]=değer sözdizimi kullanılarak atanabilir.
Dizideki her eleman ${isim[indis]} biçeminde bir ifade içinde kullanılabilir. Kaşlı ayraçlar, kabuğun dosyaismi yorumlama işleci ile çelişmemesi için gereklidir. indis olarak @ veya * verilirse, dizinin tüm üyeleri anlamındadır. Bu indisler sadece çift tırnak içine alındığında farklıdır. Sözcük çift tırnaklar arasındaysa, ${isim[*]} sözcüğü, her dizi üyesi IFS değişkeninin ilk karakteri ile ayrılarak tek sözcük olarak yorumlanır. ${isim[@]} sözcüğünde ise dizinin her elemanı ayrı bir sözcük olarak yorumlanır. Dizinin hiç elemanı yoksa, ${isim[@]} hiçbir şey olarak yorumlanır. Bir sözcük içinde çift tırnaklı yorumlama olursa ilk parametrenin yorumu özgün sözcüğün başlangıç parçası ile birleşir ve son parametrenin yorumu da özgün sözcüğün son parçası ile birleşir. Bu, @ ve * özel parametrelerinin yorumlanmasına benzerdir. ${#isim[indis]}, ${isim[indis]} dizisinin uzunluğu olarak yorumlanır. indis, @ veya * ise yorumlama dizideki elemanların sayısıdır. Bir dizi değişkeni bir ifade içinde kullanılırken bir indis belirtilmezse sıfırıncı elemana karşılıktır.
Dizileri kaldırmak için unset yerleşiği kullanılır. unset isim[indis] komutu indis indisli elemanı diziden kaldırır. Dosyaismi üretiminin sebep olacağı istenmeyen yan etkilerden kaçınılmaya çalışılmalıdır. unset isim komutunda isim bir dizi ismi ise dizinin tamamı kaldırılır. Ayrıca indis olarak * veya @ verildiğinde de dizinin tamamı kaldırılır.
declare, local ve readonly yerleşiklerinin herbirinde bir dizi belirtmek için -a seçeneği bulunur. read yerleşiğinin -a seçeneği ile standart girdiden okunan sözcüklerin bir listesi bir diziye atanabilir ve değerler standart girdiden okunup tek tek dizi elemanlarına atanabilir. set ve declare yerleşikleri girdi olarak yeniden kullanılabilir şekilde dizi değerlerini gösterebilir.
Önceki Üst Ana Başlık Sonraki
Takma Adlar Başlangıç Dizin Yığını Yerleşikleri
Bir Linux Kitaplığı Sayfası