Yeni Başlayanlar için Shell Scripts

Hakan Olcay Coruk
Turk Telekom Bulut Teknolojileri
2 min readMay 8, 2023

Shell Scripts Linux’da otomasyon için zaman kazandıran kullanımı kolay bir çözümdür. Tekrarlayan veya karmaşık görevler dizisi bazen içinden çıkılmaz hale gelebilir. Bu durumda zaman kazanmanıza yardımcı olabilir
ve üretkenliği artırmamızı sağlar, bu nedenle bilg saihibi olunması faydamıza olacaktır.

Shell Script Neden Kullanılır?

  • Günlük Backupları otomatize etmek
  • Birden fazla sunucuya aynı anda kurulum patch gibi işlemleri otomatize etmek
  • Sistemleri periyodik olarak monitör etmek için
  • Alarm ve bilgilendirme göndermek (CPU, Mem, Disk Kullanımı) vb birçok işlemi yapabiliriz.

Daha çok sistem adminleri, IT Destek verenler, Deneyimi olmayan yeni başlayanlar tarafından tercih edilir.

Shell Script için Basit anlamda linux bilgisi, komut satırı bilgisi gereklidir.

Basit anlamda ilk scriptimizi yapalım.

Öncelikle Bash nedir?
Bourne-again shell komut yorulayıcısı örnek olarak df komutunu yazdığımızda bunu yorumlayıp çıktısını verir.

Tabiki tek bir komut işlemlerimizi yapmak için yeterli değildir.

# ADI="Hakan Olcay"; echo $ADI;

Ama burada alınan değeri değişkene aktarmak veya döngü kullanmak istersek komutlar biraz daha karışık hale gelmeye başlayacaktır.

vi editörü ile script içeriğine kayıt yapalım.

$ vi hello_world.sh →
#!/bin/bash
echo "Merhaba dünya"

bunu bash komutu ile çalıştırmadan önce izinleride vermemiz gerekli bunun için

chmod +x hello_worl.sh

./hello_worl.sh

Değişkenler

Verileri geçici olarak saklamak için değişken kullanılır.

#!/bin/bash
ADI="Harry Potter"
echo $ADI

Değişken tanımlarken tek veya çift tırnak kullanılabilir.

Ancak çift tırnak içine yazılan özel ifadeler bash tarafından yorumlanır.

#!/bin/bash
ADI="Harry $((5 + 7))"
echo $ADI

Değişken uzunluğunu almak için ${#degisken_adi} kullanılır.

#!/bin/bash
ADI="Harry Potter"
echo $ADI - ${#ADI}

Sadece okunabilir değişken tanımlamak için readonly anahtar kelimesi kullanılır.

#!/bin/bash
readonly ADI="Harry Potter"
ADI="Hakan Olcay" # Uyarı verir.
echo "Hoşgeldin, $ADI"

Tanımlanan değişkeni kaldırmak için unset anahtar kelimesi kullanılır.

#!/bin/bash
ADI="Harry Potter"
unset ADI
echo "Hoşgeldin, $ADI"

Dizi tanımlamak için aşağıdaki yöntemlerden birisi kullanılır.

#!/bin/bash
KISILER=("Harry" "Voldemot" "Draco" "Luna")
KISI_SAYISI=${#KISILER[@]} # eleman sayısı
echo $KISI_SAYISI
echo ${KISILER[3]} # 4.eleman

Şimdilik yazım bu kadar umarım faydalı olmuştur.

--

--