İLK BÖLÜMÜ 10 MİLYONDAN FAZLA İZLENMİŞ TÜRK DİZİLERİ
İçindekiler:
- Bash Dizileri
- Bash Dizileri Oluşturma
- Sayısal olarak dizinlenmiş diziler oluşturma
- İlişkilendirilebilir diziler oluşturma
- Dizi İşlemleri
- Referans Öğeleri
- Dizi Uzunluğu
- Dizi boyunca döngü
- Yeni bir öğe ekle
- Bir öğeyi silme
- Sonuç
Diziler en çok kullanılan ve temel veri yapılarından biridir. Bir dizinin, içinde birden çok değişkeni depolayabilen bir değişken olduğunu düşünebilirsiniz., Bash dizilerini ele alacağız ve bunları Bash betiklerinizde nasıl kullanacağınızı açıklayacağız.
Bash Dizileri
Bash, tek boyutlu sayısal olarak dizinlenmiş ve ilişkilendirilebilir diziler türlerini destekler. Sayısal dizilere tamsayılar ve ilişkilendirilebilir dizeler kullanılarak başvurulur.
Sayısal olarak dizinlenmiş dizilere negatif indeksler kullanılarak uçtan erişilebilir,
-1
endeksi son öğeye başvurur. Endekslerin bitişik olması gerekmez.
Programlama dillerinin çoğundan farklı olarak, Bash dizi öğelerinin aynı veri türünde olması gerekmez. Hem dize hem de sayı içeren bir dizi oluşturabilirsiniz.
Bash çok boyutlu dizileri desteklemez ve aynı zamanda dizi olan dizi öğeleriniz olamaz.
Bir dizide saklanabilecek maksimum öğe sayısında sınır yoktur.
Bash Dizileri Oluşturma
Bash dizileri farklı şekillerde başlatılabilir.
Sayısal olarak dizinlenmiş diziler oluşturma
Bash değişkenleri türsüzdür, herhangi bir değişken bildirilmeden dizine alınmış bir dizi olarak kullanılabilir.
Bir diziyi açıkça bildirmek için declare yerleşimini kullanın:
declare -a array_name
Dizine alınmış bir dizi oluşturmanın bir yolu aşağıdaki formu kullanmaktır:
array_name=value_1 array_name=value_2 array_name=value_n
Burada
index_*
pozitif bir tamsayıdır.
Sayısal dizi oluşturmanın başka bir yolu, parantez içindeki öğelerin listesini boşlukla ayırarak belirtmektir:
array_name=(element_1 element_2 element_N)
Dizi yukarıdaki form kullanılarak oluşturulduğunda, indeksleme sıfırdan başlar, yani ilk elemanın indeksi
0
.
İlişkilendirilebilir diziler oluşturma
Sayısal olarak dizine eklenmesinin aksine, ilişkilendirilebilir diziler kullanılmadan önce bildirilmelidir.
İlişkili bir dizi
declare
için
-A
(büyük harf) seçeneğiyle birlikte
declare
yerleşimini kullanın:
declare -A array_name
İlişkilendirilebilir diziler aşağıdaki form kullanılarak oluşturulabilir:
declare -A array_name array_name=value_foo array_name=value_bar array_name=value_xyz
Burada
index_*
herhangi bir dize olabilir.
Aşağıdaki formu kullanarak ilişkilendirilebilir bir dizi de oluşturabilirsiniz:
declare -A array_name array_name=(=value_foo =value_bar =value_xyz)
Dizi İşlemleri
Bash dizileri sözdizimi ilk başta biraz garip gelebilir, ancak bu makaleyi okuduktan sonra daha anlamlı olacaktır.
Referans Öğeleri
Tek bir öğeye başvuruda bulunmak için öğe dizinini bilmeniz gerekir.
Aşağıdaki sözdizimi kullanılarak herhangi bir öğeye başvurulabilir:
${array_name}
Bir dizi öğesine erişmek için kullanılan sözdizimi, programlama dillerinin çoğunun sözdizimine benzer. Kabuğun dosya adı genişletme operatörlerinden kaçınmak için süslü parantezler
${}
gereklidir.
Öğe
1
diziniyle basalım:
## 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
@
Ve
*
arasındaki tek fark
${my_array}
biçiminin çift tırnak içine alınmasıdır. Bu durumda
*
, dizi öğelerinin boşlukla ayrıldığı tek bir kelimeye genişler.
@
her dizi öğesini ayrı bir kelimeye genişletir. Bu, özellikle dizi öğeleri arasında okuma yazma bilmemek için kullanılır.
Dizinin tuşlarını yazdırmak için
!
dizi adından önce operatör:
${!array_name}
İşte bir örnek:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${!my_array}"
Dizi Uzunluğu
Bir dizinin uzunluğunu almak için aşağıdaki formu kullanın:
${#array_name}
Sözdizimi, dizi adından önce
#
karakterinin eklenmesiyle tüm öğelere başvururken kullanılanla aynıdır.
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## array Length echo ${#my_array}
Dizi boyunca döngü
Bir dizideki her öğeyi yinelemenin en yaygın yolu for döngüsünü kullanmaktır:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${my_array}" do echo "$i" done
Yukarıdaki kod dizi üzerinde yinelenir ve her öğeyi yeni bir satıra yazdırır:
Hydrogen Helium Lithium Beryllium
Tüm anahtarların ve değerlerin nasıl yazdırılacağına dair bir örnek:
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
Bir dizi arasında döngü yapmanın başka bir yolu, dizinin uzunluğunu elde etmek ve
C style
döngüsünü kullanmaktır:
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
Yeni bir öğe ekle
Bir bash dizisine yeni bir öğe eklemek ve dizinini belirtmek için aşağıdaki formu kullanın:
my_array="New Element"
İşte bir örnek:
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
Dizini belirtmeden bir diziye yeni bir öğe eklemenin başka bir yolu da
+=
işlecini kullanmaktır. Bir veya daha fazla öğe ekleyebilirsiniz:
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
Bir öğeyi silme
Tek bir öğeyi silmek için öğe dizinini bilmeniz gerekir. Bir öğe
unset
komutu kullanılarak kaldırılabilir:
unset my_array
Bir örnek görelim:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## remove element unset my_array ## print all elements echo "${my_array}"
Sonuç
Sayısal olarak dizine eklenmiş ve ilişkilendirilebilir dizilerin nasıl oluşturulacağını açıkladık. Ayrıca, diziler arasında yineleme yapma, dizi uzunluğunu hesaplama ve öğe ekleme ve kaldırma işlemlerini de gösterdik.
bash terminaliMicrosoft Research Asia, Gates on 10 Year Bash'de
Microsoft Research Asia, 1998 yılında bir düzine insandan on yıl sonra 350'den fazla kişiye ulaştı.
Bash: dosyaya ekle
Linux'ta, bir dosyaya metin eklemenin birden çok yolu vardır. Bu makalede bazıları açıklanmaktadır.
Bir dosya veya dizinin bash'da olup olmadığını kontrol etme
Birçok kez Shell komut dosyaları yazarken, kendinizi bir dosyanın var olup olmadığına bağlı olarak bir eylem gerçekleştirmeniz gereken bir durumda bulabilirsiniz. Bash'te bir dosyanın var olup olmadığını kontrol etmek ve dosyanın türünü belirlemek için test komutunu kullanabilirsiniz.







