Bash Kabuk Betikleme/Bash Hakkında
Bash nedir?
değiştirBash bir "Unix kabuğudur". Başka bir değişle işletim sistemi ile etkileşime geçmeye yarayan bir komut satırı arayüzüdür. Çoğu GNU/Linux dağıtımında ve MacOS'in eski sürümlerinde varsayılan kabuk olmasıyla gayet yaygındır. Bash, 80'lerde Özgür Yazılım Vakfı'nda çalışan Brian Fox isimli yazılımcı tarafından Richard Stallman'ın isteği üzerine geliştirilmiştir. Amacı Unix'in o zamanki kapalı kaynak Bourne kabuğuna özgür ve açık kaynak bir alternatif olmaktı ve o kabuğun tüm özelliklerine sahip olmasının yanında tamsayı aritmetiği ve iş kontrolü gibi yeni özellikleri de barındırmaktadır.
Kabuk betikleme nedir?
değiştirEtkileşimli modun yani kullanıcıların her seferinde tek satır komut yazıp tam zamanlı sonuç alabildiği kabuk arayüzünün yanında Bash (birçok öbür kabuk gibi) "Bash kabuk betikleri" ("Bash betiği" veya kısaca "betik" de denir) isimli birden çok komutu içinde barındıran betikleri çalıştırabilme kabiliyetine de sahiptir. Bir betik çok basit birkaç komutu içeren bir listeden hatta tek bir komuttan oluşabildiği gibi fonksiyon, döngü, koşullu yapılar ve imperative programlamanın öbür yapı taşlarını içerebilir. Neticede bir Bash betiği, Bash yazılım dilinde yazılmış bir bilgisayar yazılımıdır.
Kabuk betikleme, bu tarz betikleri oluşturma ve geliştirme sanatıdır.
Kabuk betikleri, yukarıda bahsedilen etkileşimli komut satırı arayüzünde veya sistemin başka parçaları tarafından çalıştırılabilir. Bir betik sistem başlatıldığı sırada çalıştırılabilirken başka bir betik saat 2.30'da veya kullanıcı sisteme giriş yaptığında çalıştırılmaya ayarlanabilir.
Kabuk betikleri genellikle disk yedeği almak, sistem kayıtlarını incelemek gibi sistem yöneticiliği görevlerinde kullanılır. Kabuk betikleri ayrıca karmaşık yazılımların kurulumunda sıklıkla kullanılır. Betiklerin bu gibi işlerde kullanılmasının sebebi kendi başlarına karmaşık olmamakla beraber karmaşık işlere izin vermeleridir. Örneğin bir betiğin yalnızca iki program çalıştırması gerekiyorsa o betik yalnızca 2 satırdan oluşabilir. Öte yandan Turing makinesine uyumlu imperatif bir yazılım dilinin gücü ve karar alma kabiliyetini gerektiren bir işlem gerekirse betik bunu da sağlayabilir.