Linux

Bash Script Nasıl Kullanılır? Bash Script Örnekleri

Unix işletim sisteminde bulunan bash script, en popüler programlama araçlarından bir tanesidir. Açılımı Bourne Again Shell bütün Linux kullanıcıları ya da Sistem Yöneticileri için güçlü bir araçtır.

Unix’in iki tane büyük kabuk kategorisi bulunmaktadır:

  • Bourne kabuğu
  • C kabuğu

Bourne kabuğuna dahil olan kabuklar ise aşağıdaki gibidir:

  • Korn kabuğu (ksh)
  • Bourne kabuğu (sh)
  • POSIX kabuğu (sh)
  • Bourne Again kabuğu (bash)

C kabuğuna dahil olan kabuklar ise aşağıdaki gibidir:

  • C shell (csh)
  • TENEX (TOPS) C shell (tcsh)

Bash script geliştirmek için son derece güçlü ve kullanışlı bir parçadır. Tekrarlanan görevleri tek satırlık işlev çağrısına sığdırmayı başarmaktadır. Bu sayede çok sayıda uzun komutların bir tek çalıştırabilir komuta indirgemektedir.

Bash Script Nasıl Kullanılır? Bash Script Örnekleri

Bütün Linux dağıtımlarında bulunan bash script ayrıca bir kurulum gerektirmez. Aşağıda belirttiğimiz komutlar ile mevcut kabukları kontrol etmeniz mümkündür.

cat /etc/shells

Sonucu aşağıdaki gibi olacaktır:

/bin/bash
/bin/sh
/bin/tcsh
/bin/csh

 

Bash Script Kullanımının Nedenleri

Bash script ile:

  • Tekrarlanan görevleri ortadan kaldırmanız mümkündür.
  • Zaman kazanmanızı sağlamaktadır.
  • İyi yapılı, modüler ve formatlı etkinlik sırası elde etmenizi sağlamaktadır.
  • Karışık komutlar ile uğraşmaktansa bu komutları tek bir komuta indirgemeniz mümkündür.
  • Bash script bir kez oluşturulduktan sonra herkes istediği kadar çalıştırabilir.
  • Bash scriptler kullanılarak mantıksal akışlar kurulabilir.
  • Bash fonksiyonlarının sunucu olarak başlatıldığında ya da zamanlanmış bir görev eklenerek çalıştırılmaktadır.
  • Komutlarda hata ayıklaması yapılmaktadır.
  • İnteraktif kabuk komutlarına da sahip olmak mümkündür.

İş akışınızı kolaylaştırmak ve projenizi geliştirmek için Bash script son derece mükemmel bir araçtır.

Bash Script’ine Giriş

İlk olarak  VPS sunucunuza veya işletim sisteminize konsol (SSH) ile giriş yapmanız gerekmektedir.

man bash

Şimdi sırada bir .sh dosyası oluşturma işlemi vardır. Bunun için ise VIM Editor‘ü kullanmalısınız. Bir dosya oluşturmak için aşağıda belirtilen komutu uygulayın.

vim ornekFonksiyon.sh

Sırada  ise oluşturmuş olduğunuz .sh dosyasına yönlendirilerek dosyayı düzenlemeniz mümkün olacaktır.

Bu yazı size Bash komutlarına ve kullanımları ile ilgili kapsamlı bir sonuç sunacaktır. Bash scriptlerin tümü aşağıda belirtilen satır ile başlamalıdır:

#!/bin/bash

Aşağıda belirtilen komut bash script’inin konumunun görüntülenmesini sağlayacaktır.

which bash

Bu komutun sonucu aşağıdaki gibi olacaktır.

/bin/bash

En sık rastlanan bash söz dizimi ise şu şekildedir:

fonksiyon fonksiyonAdi {
ilk komut
ikinci komut
}

Bu yazı ayrıca şu şekilde de karşınıza çıkabilir:

fonksiyonAdi (){
ilk komut
ikinci komut
}

Tek bir satırda ise şu şekilde olacaktır:

fonksiyonAdi() { ilk komut; ikinci komut; }
caca

Bu türden olan bir fonksiyonun örneği ise aşağıda belirtildiği gibidir. Bu komutta ilk olarak bir dizin oluşturulur ardından ise konum yeni dizin ile değiştirilir:

ornekFonksiyon () {
mkdir -p $1
cd $1
}

$1 olan komut satırı bağımsız giriş değişkenlerinin yerine kullanılır. Bash komut içinde dinamik girişler oluşturabilir. Bu fonksiyonu doğrulamak için çalıştırmanız gereken komut ise aşağıdaki gibi olacaktır:

ornekFonksiyon Dizin

Burada oluşturulacak olan Dizin geçerli bir dizin adıdır. Şuan da çalışan dizini pwd komutu ile kontrol ederseniz eğer yeni oluşturulan Dizin adlı dizinde çalıştığını göreceksiniz.

VIM Editor ile .sh dosyanızın düzenlemesinin bittiği zaman ESC tuşuna basarak komut moduna girebilir ve :wq yazarak kaydederek çıkabilirsiniz.

Bash Script Örnekleri

Bash fonksiyonu ile verilebilecen en temel aşağıda belirttiğimiz gibidir:

#!/bin/bash
testfunction(){
   echo "Ilk fonksiyonum"
}
testfunction

Eğer bu scripti testFunction.sh olarak kaydederseniz daha sonra da  ./testFunction.sh olarak çalıştırırsanız sonucu aşağıdaki gibi görebilirsiniz:

Ilk fonksiyonum

Echo sonucu konsolda göstermektedir. Eğer fonksiyon tanımının yerini bir çağrı ile değiştirirseniz hata meydana gelecektir. Aşağıdaki script size hata verecektir:

#!/bin/bash
testfunction
testfunction(){
   echo "My Ilk fonksiyonum"
}

Bundan dolayı ilk olarak fonksiyonu tanımlamanız daha sonra ise çalıştırmanız gerekmektedir.

Bash fonksiyonu istenilen sayıda parametre kabul etmektedir. Aşağıda belirttiğimiz örnek iki parametreyi kabul edecektir:

#!/bin/bash
testfunction(){
   echo $1
   echo $2
}
testfunction "Merhaba" "Dünya"

Aşağıda belirtilen interaktif girişi kullanarak bash fonksiyonlarını gerçekleştirebilirsiniz. Buna bir örnek verecek olursak eğer aşağıdaki gibi olacaktır:

#!/bin/bash
addition(){
   sum=$(($1+$2))
   return $sum
}
read -p "Bir rakam girin: " int1
read -p "Bir rakam girin: " int2
add $int1 $int2
echo "Sonuc : " $?

Yukarıda gösterdiğimiz örnekte yer alan toplama değeri değişken bir sonuca atanmıştır ve bu fonksiyondan dönecektir. Interaktif giriş ise iki rakam için de read kelimesini kullanarak elde edilmektedir. Sonuç $? kullanılarak verilir. $?, fonksiyondan dönüş değerini $sum depolar.

Bash fonksiyonları her zaman tek bir değer verir.

Dosya içinde #  sembolünü kullanıp not bırakmanız mümkündür.

Bash scriptleri aşağıda belirtilenleri desteklemektedir:

  • While döngüsü
  • For döngüsü
  • If ifadesi
  • Ve mantığı
  • Veya mantığı
  • Else If ifadesi
  • Case ifadesi

Aşağıdaki While döngüsüne ait kısa bir örnek vereceğiz:

#!/bin/bash
isvalid=true
count=1
while [ $isvalid ]
do
echo $count
if [ $count -eq 6 ];
then
break
fi
((count++))
done

Yukarıda gördüğümüz örnek while ve if ifadelerini kullanmaktadır. Bu örnekte yer alan if koşul ifadesi kontrol edilip çıkış yapılmadan önce loop döngüsünü 6 defa çalıştırır.

Sonuç böyle olacaktır:

1
2
3
4
5
6

For döngüsü sayaçları artırmak ve azaltmak için kullanılmaktadır. Bu türden bir for döngüsüne bir örnek verecek olursak eğer aşağıdaki gibi olacaktır:

#!/bin/bash
for (( count=10; count>0; count-- ))
do
echo -n "$count "
done

Bu for döngüsünün sonucu ise aşağıdaki gibi olacaktır:

10 9 8 7 6 5 4 3 2 1

Bash’de && işareti mantıksal VE’yi temsil ederken || işareti ise mantıksal VEYA’yı temsil etmektedir.

If ifadeleriyle ayrıca Else if‘i tanımlamanız mümkündür. Buna bir örnek verecek olursak eğer aşağıdaki gibi olacaktır:

#!/bin/bash
echo "Gecerli bir rakam girin"
read n
if [ $n -eq 101 ];
then
echo "Bu ilk rakam"
elif [ $n -eq 510 ];
then
echo " Bu ikinci rakam "
elif [ $n -eq 999 ];
then
echo " Bu ucuncu rakam "
else
echo "Burada rakam yok"
fi

Aşağıdaki örnek ayrıca case ifadesi ile aşağıda belirtildiği gibi yazılmaktadır:

#!/bin/bash
echo " Enter a valid number"
read n
case $n in
101)
Echo " This is the first number " ;;
510)
echo " This is the second number " ;;
999)
echo " This is the third number " ;;
*)
echo " No numbers over here " ;;
esac

Case ifadelerinde ;; işareti case aralarını temsil etmektedir.

Sonuç

Bash gerçekten güçlü bir araçtır fakat öğrenimi basittir. Umarız sizler için oluşturduğumuz bu yazı işinize yarayacaktır.

Bash Script Nasıl Kullanılır? Bash Script Örnekleri başlıklı yazımız ile ilgili aklınıza takılan sorularınızın yanıtını alabilmeniz için veya öneride bulunabilmeniz için aşağıda yer alan yorumlar kısmını kullanarak bizimle iletişime geçebilirsiniz.

Dilerseniz daha önce bloğumuzda paylaştığımız OpenVPN Kullanarak Linux Sanal Sunucu Kurulumu başlıklı yazımızı da okuyabilirsiniz.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

Bu içerik kopyalamaya karşı korunmaktadır.

Kapalı
Kapalı