Linux Bash’te Komut Dosyası Yazma
Bash betikleri Linux’ta görevleri otomatikleştirmek, sistem işlemlerini yönetmek ve karmaşık işlemleri gerçekleştirmek için güçlü bir yoldur. Kullanıcılar Bash betikleri yazarak birden fazla komutu tek bir betikte birleştirebilir, zamandan tasarruf edebilir ve hataları azaltabilir. Çoğu Linux dağıtımında varsayılan kabuk olan Bash, Linux yöneticileri, geliştiricileri ve meraklıları için vazgeçilmez bir araçtır.
Bu makalede, Linux‘ta Bash betiklerinin nasıl yazılacağını ve çalıştırılacağını, temel bilgileri, anahtar kavramları ve pratik örnekleri kapsayarak inceleyeceğiz.
Bash Komut Dosyası Nedir?
Bash betiği, Bash kabuğu tarafından yürütülebilen bir dizi komut içeren düz bir metin dosyasıdır. Kullanıcıların tekrarlayan görevleri otomatikleştirmesine, iş akışları oluşturmasına ve Linux işletim sistemiyle etkileşime girebilecek daha karmaşık komut dizileri oluşturmasına olanak tanır.
Bash komut dosyaları aşağıdaki gibi görevleri gerçekleştirebilir:
- Dosya manipülasyonu (kopyalama, taşıma, yeniden adlandırma)
- Sistem yönetimi (süreçleri izleme, kullanıcıları yönetme)
- Yazılım kurulumunun otomasyonu
- Yedeklemeleri ve zamanlanmış görevleri çalıştırma
Basit Bir Bash Komut Dosyası Nasıl Yazılır
1. Bash Komut Dosyası Oluşturma
Bir Bash betiği oluşturmak için yeni bir metin dosyası oluşturmanız gerekir. .sh uzantılı bir betik dosyası oluşturmak için nano, vim veya gedit gibi bir metin düzenleyici kullanın (örn. myscript.sh).
2. Shebang’i ekleyin (#!)
Bir Bash betiğinin ilk satırına shebang adı verilir ve sisteme betiği çalıştırmak için hangi yorumlayıcıyı kullanacağını söyler. Bash betikleri için shebang satırı aşağıdaki gibi görünür:
Bu, kullanıcı için farklı bir kabuk varsayılan olsa bile betiğin Bash kabuğu kullanılarak çalıştırılmasını sağlar.
3. Komut Dosyasına Komut Yazma
Shebang’den sonra, betiğin çalıştırmasını istediğiniz komutları ekleyebilirsiniz. Örneğin:
- echo: Metni terminale yazdırır.
- $USER: Geçerli kullanıcı adını içeren bir sistem değişkeni.
- $(date): Geçerli tarih ve saati yazdıran date komutunu çalıştırır.
- $(pwd): Mevcut çalışma dizinini yazdırır.
4. Komut Dosyasını Çalıştırılabilir Yapın
Komut dosyasını çalıştırmadan önce, çalıştırma izinlerini vermeniz gerekir. Komut dosyasını çalıştırılabilir hale getirmek için chmod komutunu kullanın:
5. Komut Dosyasını Çalıştırın
Komut dosyası çalıştırılabilir hale geldiğinde, aşağıdaki komutu kullanarak terminalden çalıştırabilirsiniz:
Komut dosyası daha sonra içindeki komutları çalıştıracak ve çıktıyı terminalde görüntüleyecektir.
Bash Komut Dosyalarındaki Değişkenler
Bash komut dosyaları, verileri depolamak ve işlemek için değişkenleri kullanmanıza olanak tanır. Değişkenler dizeler, sayılar ve komut çıktısı gibi bilgileri saklamak için kullanılır.
Değişken Tanımlama Örneği:
- Değişkenler = işareti etrafında boşluk bırakılmadan tanımlanır.
- Bir değişkenin değerini kullanmak için başına $ sembolü ekleyin (örn. $name).
Bash’te Koşullu İfadeler
Bash komut dosyaları, belirli koşullara göre komutları çalıştırmanıza olanak tanıyan koşullu deyimleri destekler.
If Deyimi Örneği:
- read: Kullanıcı girdisini okur ve bir değişkende saklar.
- if: Koşullu ifadeyi başlatır.
- [ ]: Koşulları test etmek için kullanılır (örn. karşılaştırmalar).
- -ge: Büyüktür veya eşittir.
- -le: Daha küçük veya eşit.
- &&: Mantıksal AND operatörü.
Bash Komut Dosyalarındaki Döngüler
Döngüler komutları birden çok kez tekrarlamak için kullanılır ve Bash hem for hem de while döngülerini destekler.
For Döngüsü Örneği:
Bu döngü “Yineleme” metnini ve ardından 1’den 5’e kadar olan sayıları yazdırır.
While Döngüsü Örneği:
Bu döngü, sayaç değerini 5’e ulaşana kadar artıracak ve yazdıracaktır.
Bash Komut Dosyalarındaki İşlevler
Bash komut dosyalarında, komut dosyası boyunca tekrar kullanılabilecek komutları gruplamak için işlevler tanımlayabilirsiniz.
Bir Fonksiyon Örneği:
- greet_user: İşlev adı.
- $1: Fonksiyona aktarılan ilk argümanı temsil eder.
Komut Satırı Bağımsız Değişkenleri ile Çalışma
Bash komut dosyaları çalıştırıldıklarında komut satırı argümanlarını kabul edebilir. Bu argümanlar özel değişkenlerde saklanır: $1, $2, $3, vb.
Bağımsız Değişkenli Komut Dosyası Örneği:
- $#: Komut dosyasına aktarılan bağımsız değişken sayısı.
- $0: Kodun adı.
- $1, $2: Komut dosyasına aktarılan birinci ve ikinci bağımsız değişkenler.
Bash Komut Dosyalarında Hata Ayıklama
Bir Bash betiğinde hata ayıklamak için, betiği çalıştırırken -x seçeneğini ekleyebilirsiniz. Bu, her komutu yürütüldükçe gösterecektir.
Örnek:
Bu, her komutu çıktısıyla birlikte yazdırarak koddaki hataları belirlemenize yardımcı olur.
Sonuç
Linux’ta Bash betikleri yazmak, tekrarlayan görevleri otomatikleştirmenize, sistem yönetimi işlemlerini gerçekleştirmenize ve karmaşık iş akışlarını verimli bir şekilde oluşturmanıza olanak tanır. Bash komut dosyalarında ustalaşarak üretkenliği artırabilir ve Linux ortamınızı ihtiyaçlarınıza göre özelleştirebilirsiniz. İster yeni başlıyor ister komut dosyası yazma becerilerinizi geliştirmek istiyor olun, Bash komut dosyası yazma her Linux kullanıcısı için önemli bir araçtır.