Bash Kabuk Betikleme/Terminoloji Üzerine Notlar

Vikikitap, özgür kütüphane

Bash komutlarının dili Turing makinesine uygun bir programlama dilidir, yani teorik olarak bir programlama diliyle çalıştırılabilen her şey Bash'de de çalıştırılabilir. Üstelik Bash'de bazı aşırı sofistike şeyler yapmak mümkündür. Yine de Bash bir "programlama dili" yerine "kabuk betikleme dili" olarak tanımlanır, ve Bash'de yazılan programlar "Bash programı" yerine "Bash kabuk betiği" olarak anılır. Bu tanımlamaya bu kitapta uyacağız ve Bash dili ile yazılanlara betik, Bash betiğinin harici olarak çağırdıklarına program diyeceğiz.

Ayrıca araç kelimesini de sıklıkla kullanacağız. Bu terim biraz öznel olmakla beraber değişken bir kullanım alanına sahiptir ancak genel olarak insan etkileşimine ihtiyaç duymadan öbür yazılımlarla uyum içinde çalışan harici yazılımları tanımlamak için kullanılır. Tüm araçlar birer yazılımdır, bu yüzden iki terimi karışık kullanacağız. Bir "aracın" zıttı uygulamadır. Bu terim de özneldir ancak genelde insan etkileşimine ihtiyaç duyan, gelişmiş bir GUI'si (kullanıcı arayüzü) olan yazılımları tanımlar. Uygulamalar genellikle Bash betikleri ile çağırılmadıkları için bu terimi çok sık kullanmayacağız. Çoğu yazılım "araç" veya "uygulama" değildir, ve bazı yazılımlar iki tipin de özelliklerini içlerinde barındırabilir.

Bash betiğindeki birçok öğenin bazılarına komut denirken bazılarına da sorgu denir. Bu farkı bu kitapta inceleyeceğiz ancak bunun üzerine çok kafa yormanıza gerek yok. Normalde "komut", haricî yazılımların çağrılması için kullanılırken bir "sorgu" if … then … else … fi gibi yazılım yapıları veya değişken tanımlamaları için kullanılır.