BASH Programming

Dizeleri Test Etmek için “if -z” ve “if -n” bash

Dizeleri Test Etmek için “if -z” ve “if -n” bash

Bash'deki "if" ifadesi, birden çok amaca hizmet etmek için farklı parametrelerle kullanılabilir. Bash'de stringlerle çalışırken, bir stringin boş olup olmadığını kontrol etmek bizim için çok önemlidir, böylece programımızın yürütülmesinde herhangi bir soruna neden olmaz. Dizeleri test etmek için hem “-z” hem de “-n” bayrakları “if” deyimi ile kullanılabilir ve bunun nasıl yapılabileceğini bugünün makalesinde açıklayacağız.

Not: Aşağıdaki örnekleri test etmek için Linux Mint 20 kullanılmıştır.

Dizeleri Test Etmek İçin Bash “if -z” ve “if -n” Kullanma Yöntemi

Dizeleri test etmek için Bash “if -z” ve “if -n” kullanımını açıklamak için aşağıdaki örnek senaryoları sizinle paylaşmak istiyoruz.

Örnek 1: Bir Dizenin Boş Olduğunu Göstermek için “if -n” Kullanılması

Bash'de bir dizgenin null olduğunu if -n deyimi ile göstermek için aşağıdaki adımları uygulayacağız:

İlk olarak Home dizinimizde Strings adında bir Bash dosyası oluşturacağız.sh, aşağıdaki resimde gösterildiği gibi:

Bu dosyayı oluşturduktan sonra aşağıdaki resimde gösterilen scripti dosyamıza yazacağız. Her Bash betiği gibi, ilk satır, ben.e. “#!/bin/bash” zorunludur. Daha sonra “name” adında boş bir string tanımladık. Bash'de boş bir dize, bir değişkeni “” ile eşitleyerek bildirilebilir. Ardından, bir dize boş değilse true değerini döndüren "-n" bayrağının izlediği bir "if" ifadesine sahibiz. Bu bayrağı boş olan “name” dizimizi test etmek için kullandık. Bu, bu durumda “-n” bayrağının değeri yanlış olacağından “if” koşulunun yürütülmeyeceği anlamına gelir. Bu nedenle, terminalde bir mesaj yazdırarak yürütülecek bir “else” bölümümüz de var.

Şimdi, aşağıda gösterilen komutla yapılabilecek bu dosyayı yürütme zamanı:

$ bash Dizeleri.ş

Bildirdiğimiz string null olduğundan, bu nedenle scriptimizin “else” kısmı çalıştırıldı ve aşağıdaki resimde gösterildiği gibi ilgili mesaj terminale yazdırıldı:

Örnek # 2: Bir Dizenin Null olmadığını Göstermek için “if -n” Kullanılması

Bash'de bir dizgenin null olmadığını if -n deyimi ile göstermek için aşağıdaki adımları uygulayacağız:

Bash dosyamıza aşağıdaki betiği yazacağız. Bu senaryo için yukarıda oluşturduğumuz scriptte yaptığımız tek değişiklik bu sefer “name” stringine geçerli bir isim vermiş olmamızdır. Bu, dizgimizin bu sefer boş olmadığı anlamına gelir, bu da betiğin “if” bölümünün çalıştırılması gerektiği anlamına gelir.

Şimdi betiği bir kez daha çalıştırın ve aşağıdaki resimde gösterildiği gibi bu sefer betiğin “if” kısmını çalıştırarak değiştirilmiş betiğimizin istediğimiz gibi çalıştığını fark edeceksiniz:

Örnek # 3: Bir Dizenin Null olmadığını Göstermek için “if -z” Kullanımı

Bash'de bir dizgenin null olmadığını if -z deyimi ile göstermek için aşağıdaki adımları uygulayacağız:

Bu senaryonun senaryosu, yukarıda tartışılan senaryo ile hemen hemen aynıdır. Yalnızca “-n” bayrağını “-z” bayrağıyla değiştirdik, ancak bu sefer betiğin “if” ve “else” kısımlarını da değiştirdik çünkü “-z” bayrağı eğer string ise true döndürür. boş. Bu, bu sefer betiğin "else" kısmının yürütüleceği anlamına gelir çünkü dizemiz boş değil.

Bunu, az önce değiştirdiğiniz komut dosyasını çalıştırarak doğrulayabilirsiniz ve aşağıdaki resimde gösterildiği gibi dizenizin boş olmadığını görebileceksiniz:

Örnek # 4: Bir Dizenin Boş Olduğunu Göstermek için “if -z” Kullanımı

Bash'de bir dizgenin "if -z" deyimini kullanarak null olduğunu göstermek için aşağıdaki adımları uygulayacağız:

Bu senaryo için, Örnek # 3 için yaptığımız gibi aynı komut dosyasını kullandık. Bu betikte yaptığımız tek değişiklik, aşağıdaki resimde görebileceğiniz gibi, dizgimizi null değerini atayarak null yapmamızdır:

Şimdi bu betiği çalıştırdığımızda, betiğin “if” kısmı, string null olduğu için yürütülecek ve bu nedenle, aşağıdaki görüntüden de görebileceğiniz gibi “-z” bayrağının değeri doğru olacaktır:

Örnek # 5: String Kullanıcı Girişi Alma ve “if -z” ile Test Etme

“if -z” ifadesi ile kullanıcı tarafından sağlanan string girişini test etmek için aşağıdaki adımları uygulayacağız:

Aşağıdaki resimde gösterilen scripti Bash dosyamıza kopyalayacağız. Burada kullanıcıdan bir string girmesini istiyoruz ve ardından o stringi “read” komutu ile “string” değişkenine kaydediyoruz. Daha sonra bu dizgiyi “if -z” deyimi ile test ediyoruz, bu dizge null ise çalıştırılacaktır. Bu durumda, bu komut dosyası kullanıcıdan geçerli bir dize girmesini ister ve ardından bu dizeyi yazdırır. Ancak, kullanıcı ilk kez geçerli bir dize girerse, betiğin “else” kısmı yürütülür.

Bu Bash betiğini çalıştırdıktan sonra, bir dize girmemiz istendiğinde, kasıtlı olarak boş bir dize girdik, i.e., sadece Enter tuşuna bastık. Bu nedenle terminalimiz, aşağıdaki resimde gösterildiği gibi geçerli bir dize girmemizi istedi:

Bu sefer geçerli bir "merhaba" dizesi girdik ve bu nedenle terminal aşağıdaki resimde gösterildiği gibi ilgili mesajı yazdırdı:

Sonuç

Bu makale, “if” deyimi ile “-z” ve “-n” bayraklarını kullanırken dizelerinizin boş olup olmadığını test edebileceğiniz tüm farklı yöntemleri öğretti. Bu bayrakları kullanarak herhangi bir diziyi test edebilir ve bu nedenle bunları komut dosyalarımızda çok verimli bir şekilde kullanabiliriz.

Linux'ta Oyun Nasıl Geliştirilir
On yıl önce, pek çok Linux kullanıcısı en sevdikleri işletim sisteminin bir gün ticari video oyunları için popüler bir oyun platformu olacağını tahmin...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Linux için En İyi Komut Satırı Oyunları
Komut satırı, Linux kullanırken yalnızca en büyük müttefikiniz değil, aynı zamanda eğlence kaynağı da olabilir, çünkü onu özel bir grafik kartı gerekt...