Kabuk programlama olarak da bilinen betik programlama, sistem üzerinde sürekli olarak gerçekleştirilecek olan işlemlerin tek bir dosyada toplanarak otomatikleştirilmesini amaçlar.
Örneğin kurulumlar birden fazla adımdan oluşan uzun işlemler olarak bilinir. Eğer bir kurulumu birden fazla kez yapacağımızı biliyorsak ya da böyle bir ihtimal bulunuyorsa, kurulum adımlarını sürekli tekrarlamak yerine tamamını bir kabuk programı haline getirip her seferinde uğraşmak yerine sadece bir dosyayı çalıştırarak gerçekleştirebiliriz.
Bunun dışında, bir veya birden fazla sistem üzerinde her gün, her hafta veya her ay düzenli yapılacak işlemler için, sistemde sürekli olarak seyreden hataların çözümleri için de kabuk programlamadan faydalanılabilir.
Bu bölümde bash kabuğu üzerinde programlama adımları anlatılmaktadır. Bu sebeple başlamadan önce bash kabuğuna sahip bir GNU/Linux dağıtımı kullanıldığından emin olunması gerekmektedir.
GNU/Linux sistemlerde bir programın çalışabilmesi için her zaman bulunulan kullanıcıya ait çalıştırma yetkisi gerekmektedir. Öncelikle betiğe ait bir dizin oluşturulup ilgili izinler aşağıdaki gibi verilebilir.
Betik geliştirmeye ait dizini oluşturup izinlerini verdikten sonra ekrana 'Merhaba Dünya' yazmak için echo komutu betik içerisinde kullanılabilir.
Kodumuzu yazdıktan sonra çalıştıralım.
Betik içerisinde terminal komutlarının sırayla çalıştığını kavradıktan sonra ekrana sistem saatini basıp her çalıştığında /tmp/log altına da kaydeden bir betik yazalım.
Bu betik her çalıştığında ekrana bastığı donanım saatini aynı zamanda /tmp/log adındaki dosyaya kaydetmektedir.
Betik içerisinde değişken tanımlamak için sembol kullanılmazken, değişken çağırılırken $ sembolü kullanılır. Ayrıca aritmetik işlemleri yapmak için $(( )) yapısının kullanılması gerekmektedir.
Betik içerisinde if yapısının kullanılması için öncelikle if yapısının karşılaştırma operatörlerinin bilinmesi gerekmektedir.
-eq : Birinci değişken ikinciye eşittir.
-ge : Birinci değişken ikinciden büyüktür ya da eşittir.
-gt : Birinci değişken ikinciden büyüktür.
-le : Birinci değişken ikinciden küçüktür ya da eşittir.
-lt : Birinci değişken ikinciden küçüktür.
Not: Bu operatörler ve daha fazlası man test ile de görüntülenebilir.
Tıpkı diğer programlama dillerinde de olduğu gibi bash programlamada da for ve while döngüleri kullanılabilir.
Yazılan bir betiğe parametre vermek kabuk programlamada sıkça karşılaşılan bir durumdur. Parametreler otomatik olarak verilme sırasına göre 1 2 3... değişkenlerine atanır. Bu değişkenlere proogram içerisinde erişmek için başına $ değişkeni konularak erişilebilir.