Bu konuda, otomatik görevlerimizi tamamlamak için Bash betiklerinde else-if (elif) ifadelerini nasıl kullanacağımızı anlayacağız.
Bash else-if ifadesi birden fazla koşul için kullanılır. Tıpkı Bash if-else ifadesine yapılan bir ekleme gibidir. Bash elif'te, her biri için bir boole ifadesi bulunan birden fazla elif bloğu bulunabilir. İlk 'if ifadesi' durumunda, eğer bir koşul yanlış giderse, ikinci 'if koşulu' kontrol edilir.
Bash Else If (elif) Söz Dizimi
Bash kabuk komut dosyasındaki else-if ifadesinin sözdizimi şu şekilde tanımlanabilir:
Java kontrolü boş
if [ condition ]; then elif [ condition ]; then else fi
Tıpkı if-else gibi, koşul operatörleri kullanılarak birleştirilmiş bir veya daha fazla koşulun kümesini kullanabiliriz. Koşul doğru olduğunda bir takım komutlar yürütülür. Eğer doğru bir koşul yoksa, 'else ifadesi' içindeki komut bloğu yürütülür.
Aşağıda else-if ifadesinin kullanımını gösteren bazı örnekler verilmiştir:
örnek 1
Aşağıdaki örnek, ilk else-if ifadesinin koşulunun doğru olduğu ve ikinci else-if ifadesinin koşulunun yanlış olduğu iki farklı senaryodan oluşmaktadır.
huffman kodlama kodu
Bash Komut Dosyası
#!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 100 ]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'Eligible for 5% discount' else echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' fi
Çıktı
- Miktar sayısını 110 olarak girersek, 'if ifadesinin' koşulu doğru olarak değerlendirilir ve çıktı şöyle görünür:
- Miktar sayısını 90 olarak girersek 'elif ifadesinin' koşulu doğru olarak değerlendirilir ve çıktı şu şekilde olur:
- Miktar sayısını 100 olarak girersek hiçbir koşul gerçekleşmez. Bu durumda, 'else ifadesi' içindeki komut bloğu yürütülür ve çıktı şöyle görünür:
Bash else-if'in temel işleyişi bu şekildedir.
Örnek 2
Bu örnek, Bash'te else-if ifadesiyle birden fazla koşulun nasıl kullanılacağını göstermektedir. Birden fazla koşulu birleştirmek için bash mantıksal operatörlerini kullanırız.
Bash Komut Dosyası
#!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 200 ]; then echo 'Eligible for 20% discount' elif [[ $num == 200 || $num == 100 ]]; then echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' elif [[ $num -gt 100 && $num -lt 200 ]]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'No discount' fi
Not: else bloğunun isteğe bağlı olduğunu unutmamak gerekir.
Çıktı
Miktar sayısını 100 olarak girersek çıktı şöyle görünecektir:
dizilist.sort
Bu örneği farklı değerler koyarak deneyin ve sonuçları kontrol edin.
Çözüm
Bu konumuzda Bash else-if ifadesinin yazımını ve kullanımını örneklerle öğrendik.