Bir Bash Kabuk Komut Dosyasında Girdi Argümanının Varlığını Nasıl Kontrol Edersiniz?
Üç farklı yol vardır:
Yöntem 1: “test” Komutunu Kullanma
'[' komutu olarak da bilinen 'test' komutu, Bash'te çeşitli koşulları test eden yerleşik bir komuttur. “Test” komutunu kullanarak test edebileceğimiz koşullardan biri de bir değişkenin var olup olmadığıdır. Burada, 'test' komutunu kullanarak bir giriş bağımsız değişkeninin var olup olmadığını kontrol etmek için örnek bir kod verilmiştir:
#!/bin/bash
eğer [ -İle '1 dolar' ]
Daha sonra
Eko 'Giriş bağımsız değişkeni eksik.'
çıkış 1
olmak
Eko 'Giriş bağımsız değişkeni var.'
Burada “-z” seçeneği, “test” komutuyla birlikte giriş argümanının boş bir dizge olup olmadığını kontrol etmek için kullanılır. Komut dosyası bir hata mesajı verir ve giriş bağımsız değişkeni boş bir dize ise 1 durum koduyla çıkar. Aksi takdirde, komut dosyası yürütülmeye devam edecek, aşağıda sağladığım ve kod için argüman girişi, böylece argüman girişinin var olduğu mesajını görüntüler:
Yöntem 2: “$#” Değişkenini Kullanma
bu “$#” değişkeni, bir betiğe iletilen giriş bağımsız değişkenlerinin sayısını saklar. Komut dosyası en az bir girdi bağımsız değişkeni bekliyorsa, “$#” değişken sıfırdan büyüktür. Burada, en az bir giriş bağımsız değişkeninin olup olmadığını kontrol etmek için bir örnek kod verilmiştir. “$#” değişken:
#!/bin/bash
eğer [ $# -eq 0 ]
Daha sonra
Eko 'Giriş bağımsız değişkeni eksik.'
çıkış 1
olmak
Eko 'Giriş bağımsız değişkeni var.'
burada “-eş” olup olmadığını kontrol etmek için operatör kullanılır. “$#” değişken sıfıra eşit veya değil ve “$#” değişkeni sıfıra eşitse, komut dosyası bir hata mesajı gösterecek ve 1 durum koduyla çıkacaktır. Aksi takdirde, aşağıda verdiğim ve girişi yaptığım komut dosyası çalışmaya devam edecektir. kod için bağımsız değişken, böylece bağımsız değişken girişinin var olduğu mesajını görüntüler:
Yöntem 3: “-n” Seçeneğini Kullanma
bu '-N' seçeneği, bir değişkenin boş olup olmadığını kontrol etmek için kullanılır. Giriş argümanının var olup olmadığını kontrol etmek için bu seçeneği kullanabiliriz. Aşağıda, kullanarak bir giriş argümanının olup olmadığını kontrol eden bir örnek kod verdim. '-N' seçenek:
#!/bin/basheğer [ -N '1 dolar' ]
Daha sonra
Eko 'Giriş bağımsız değişkeni var.'
başka
Eko 'Giriş bağımsız değişkeni eksik.'
çıkış 1
olmak
Burada, '-N' seçeneği, giriş bağımsız değişkeninin boş olup olmadığını kontrol etmek için kullanılır ve giriş bağımsız değişkeni boş değilse, komut dosyası bir başarı mesajı görüntüler. Aksi takdirde, komut dosyası bir hata mesajı görüntüler ve 1 durum koduyla çıkar, aşağıda sağladım ve kod için bağımsız değişken girdi, böylece bağımsız değişken girişinin var olduğu mesajını görüntüler:
Çözüm
Kabuk komut dizisinde, girdi bağımsız değişkenlerinin varlığını kontrol etmek, komut dosyasının beklendiği gibi çalışmasını sağlamak için önemli bir adımdır. Giriş argümanlarının varlığını kontrol etmek için 'test' komutunu, '$#' değişkenini veya '-n' seçeneğini kullanmak gibi farklı teknikler kullanabiliriz. Bu teknikleri uygulayarak, giriş argümanlarını işleyebilen daha sağlam ve güvenilir kabuk betikleri oluşturuyoruz.