logo

Bash Davası

Bu başlıkta case ifadelerinin temellerini ve bunların Bash betiklerinde nasıl kullanılacağını tartışacağız.

Bash vaka ifadesi, birçok ELIF öğesi içeren IF-THEN-ELSE'nin en basit biçimidir. Case deyimini kullanmak bash betiğimizi daha okunaklı ve bakımı kolay hale getirir. Bunlar genellikle birden fazla farklı seçeneğe sahip karmaşık koşulları basitleştirmek için uygulanır.

Bash case ifadesi Javascript veya C switch ifadesine benzer bir mantık izler. Aşağıdaki gibi küçük bir fark vardır:

  • Bash case ifadesi bir değeri bir kez alır ve bu değeri birden çok kez test eder. Bir modeli bulduktan sonra aramayı bırakır ve onunla bağlantılı ifadeyi yürütür; bu, C switch ifadesinin neredeyse tam tersidir.

Vaka Bildirimi Sözdizimi

Bash case ifadesinin sözdizimi aşağıda verilmiştir:

 case expression in pattern_1) statements ;; pattern_2) statements ;; pattern_3|pattern_4|pattern_5) statements ;; pattern-n) statements ;; *) statements ;; esac 

Bash case ifadelerinin bazı önemli noktaları vardır:

  • Bash'taki her case ifadesi 'case' anahtar sözcüğüyle başlar, ardından case ifadesi ve 'in' anahtar sözcüğü gelir. Case ifadesi 'esac' anahtar sözcüğüyle kapatılır.
  • | ile ayrılmış birden fazla desen uygulayabiliriz. Şebeke. ) operatörü bir model listesinin sonlandırıldığını belirtir.
  • İfadeleri içeren bir kalıp cümle olarak adlandırılır ve çift noktalı virgül (;;) ile sonlandırılmalıdır.
  • Varsayılan durumu tanımlamak için son model olarak yıldız işareti simgesi (*) kullanılır. Son durum olarak kullanıldığında varsayılan durum olarak kullanılır.

Nasıl çalışır

Her şeyden önce, case ifadesi ifadeyi genişletir ve içerilen kalıpların her biriyle eşleşmeye çalışır. Bir eşleşme bulduğunda, tüm bağlantılı ifadeler çift noktalı virgül (;;) kadar yürütülür. İlk eşleşmeden sonra vaka, son yürütülen ifadenin çıkış durumuyla sona erer.

Eşleşen bir model yoksa servis talebinin çıkış durumu sıfırdır. Aksi takdirde dönüş durumu, yürütülen ifadelerin çıkış durumudur.

Varsayılan yıldız deseni kullanılırsa eşleşen bir desen olmaması durumunda yürütülür.

Birkaç örnek yardımıyla bu mekanizmayı anlamaya çalışalım:

örnek 1

Bu örnekte, case ifadesinin kullanımını göstermek için basit bir senaryo tanımladık.

Bash Komut Dosyası

 #!/bin/bash echo 'Do you know Java Programming?' read -p 'Yes/No? :' Answer case $Answer in Yes|yes|y|Y) echo 'That's amazing.' echo ;; No|no|N|n) echo 'It's easy. Let's start learning from javatpoint.' ;; esac 

Çıktı

Bash Davası

Örnek 2

Bu örnekte, daha önce eşleşen bir vaka bulunmadığında varsayılan durumun da bulunduğu birleştirilmiş bir senaryo tanımladık.

Instagram'ın kişisel kullanıma faydaları

Bash Komut Dosyası

 #!/bin/bash echo 'Which Operating System are you using?' echo 'Windows, Android, Chrome, Linux, Others?' read -p 'Type your OS Name:' OS case $OS in Windows|windows) echo 'That's common. You should try something new.' echo ;; Android|android) echo 'This is my favorite. It has lots of applications.' echo ;; Chrome|chrome) echo 'Cool!!! It's for pro users. Amazing Choice.' echo ;; Linux|linux) echo 'You might be serious about security!!' echo ;; *) echo 'Sounds interesting. I will try that.' echo ;; esac 

Çıktı

Betiği üç farklı girdiyle çalıştırdık, aşağıdaki çıktıya göz atın:

Bash Davası

Çözüm

Bu konumuzda Bash Case deyiminin sözdizimini ve kullanımını örneklerle öğrendik.