Bir Bash Kabuk Komut Dosyasında Girdi Argümanının Varlığını Nasıl Kontrol Edersiniz?

Bir Bash Kabuk Komut Dosyasinda Girdi Argumaninin Varligini Nasil Kontrol Edersiniz



Bash kabuk komut dosyası, yinelenen görevleri otomatikleştirmek ve komut satırında karmaşık işlemleri gerçekleştirmek için güçlü bir araçtır. Kabuk komut dizisindeki temel kavramlardan biri, kullanıcıdan veya diğer komut dizilerinden gelen girdi argümanlarını kabul etmektir. Giriş bağımsız değişkenleriyle uğraşırken, komut dosyasında beklenmeyen davranışlardan kaçınmak için giriş bağımsız değişkeninin var olup olmadığını kontrol etmek önemlidir. Bu makale, bir Bash kabuk betiğinde giriş bağımsız değişkenlerinin varlığını kontrol etmenin farklı yollarını tartışacaktır.

Bir Bash Kabuk Komut Dosyasında Girdi Argümanının Varlığını Nasıl Kontrol Edersiniz?

Üç farklı yol vardır:

  1. 'Test' komutunu kullanma
  2. “$#” değişkenini kullanma
  3. “-n” seçeneğini kullanma

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/bash

eğ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.