Bash komut dosyası oluşturma, Unix benzeri sistemlerdeki görevleri otomatikleştirmek için güçlü bir araçtır. Bash komut dosyası oluşturmanın temel yönlerinden biri komut satırı argümanlarını ve seçeneklerini yönetmektir. Bunlar, komut dosyalarının daha esnek ve etkileşimli olmasını sağlayarak kullanıcıların komut dosyasına belirli talimatları veya verileri aktarmasına olanak tanır. Bu makale, Bash’te yeni başlayanlardan ileri düzey kullanıcılara kadar çeşitli kitlelere uygun argüman ve seçenek işlemenin temellerinden daha gelişmiş tekniklerine kadar size rehberlik etmeyi amaçlamaktadır.
Komut Satırı Bağımsız Değişkenlerini Anlamak
Karmaşık komut dosyalarına dalmadan önce, Bash komut dosyalarında komut satırı argümanlarının nasıl iletildiği ve bunlara nasıl erişildiğinin temellerini anlamak önemlidir. Bu bölümde bu bağımsız değişkenlere erişmenin ve bunları kullanmanın basit yolları anlatılmaktadır.
- Temel Konumsal Parametreler: Konumsal parametreler kullanılarak betiğe aktarılan argümanlara erişim.
- Bu örnekte, “$0”, betiğin adını temsil eder ve “$1”, “$2” vb., betiğe iletilen bağımsız değişkenleri temsil eder.
- Çoklu Argümanları İşleme: Birden fazla argümanı işlemek için bir döngü kullanmak.
- Bu komut dosyası, kendisine iletilen her argümanın üzerinden geçerek çıktısını alacaktır. Tüm argümanlara bir liste halinde erişmek için `$@` kullanımını gösterir.
- Özel Değişkenleri Kullanma: `$#`, `$*` ve `$?` gibi özel değişkenleri keşfetme.
- Bu komut dosyası özel değişkenlerin nasıl kullanılacağını gösterir: bağımsız değişken sayısı için “$#”, tek bir dize olarak tüm bağımsız değişkenler için “$*” ve son yürütülen komutun çıkış durumu için “$?”.
- Shift ile Gelişmiş Argüman İşleme: Argümanları sırayla işlemek için ‘shift’ komutunun kullanılması.
- Bu örnek, betiğe iletilen her bağımsız değişkeni sırayla işlemek için “shift” komutunun kullanımını gösterir.
- Temel getopts Kullanımı: ‘Getopts’ ile ayrıştırma seçenekleri.
- Bu komut dosyası, ‘-a’ ve ‘-b’ seçeneklerini ayrıştırmak için ‘getopts’u kullanır; burada ‘-b’ ilişkili bir değer gerektirir.
- Uzun Seçenekli gelişmiş getopt’lar: ‘Getopts’ kullanarak hem kısa hem de uzun seçeneklerin kullanılması.
- Bu daha karmaşık komut dosyası, getopts’un işlevselliğini ‘–help’ gibi uzun seçenekleri yönetecek şekilde genişletir.
Yazının orijinalini buradan okuyabilirsiniz.