Bu konuda, otomatik görevlerimizi tamamlamak için Bash komut dosyalarında if-else deyimlerini nasıl kullanacağımızı anlayacağız.
Bash if-else ifadeleri, ifadelerin sıralı yürütülmesi akışında koşullu görevleri gerçekleştirmek için kullanılır. Bazen, bir koşul doğruysa belirli bir dizi ifadeyi, yanlışsa başka bir ifade dizisini işlemek isteriz. Bu tür işlemleri gerçekleştirmek için if-else mekanizmasını uygulayabiliriz. Koşulu 'if ifadesi' ile uygulayabiliriz.
Bash If Else Sözdizimi
Bash Shell Komut Dosyasında if-else ifadesinin sözdizimi aşağıdaki gibi tanımlanabilir:
merhaba dünya java
if [ condition ]; then else fi
Hatırlanması Gereken Önemli Noktalar
- Koşullu operatörler kullanılarak birleştirilmiş bir veya daha fazla koşulun kümesini kullanabiliriz.
- Aksi takdirde blok komutları, koşul yanlış olduğunda gerçekleştirilecek bir dizi eylemi içerir.
- Koşullu ifadeden sonra noktalı virgül (;) mutlaka kullanılmalıdır.
Bash Komut Dosyasında if-else ifadesinin kullanımını gösteren aşağıdaki örneklere göz atın:
örnek 1
Aşağıdaki örnek, ilk if-else ifadesinde koşulun doğru olduğu ve ikinci if-else ifadesinde koşulun yanlış olduğu iki farklı senaryodan oluşmaktadır.
#!/bin/bash #when the condition is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' else echo '10 is not greater than 3.' fi #when the condition is false if [ 3 -gt 10 ]; then echo '3 is greater than 10.' else echo '3 is not greater than 10.' fi
Çıktı
İlk if-else ifadesinde koşul ( 10 -gt 3 ) doğrudur ve dolayısıyla if bloğundaki ifade yürütülür. Diğer if-else ifadesinde ise ( 3 -gt 10 ) koşulu false olduğundan else bloğundaki ifade yürütülür.
Örnek 2
Bu örnekte Bash'te if-else ifadesi ile birden fazla koşulun nasıl kullanılacağını anlattık. Birden fazla koşulu birleştirmek için bash mantıksal operatörlerini kullanırız.
#!/bin/bash # When condition is true # TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]]; then echo 'Given condition is true.' else echo 'Given condition is false.' fi # When condition is false #TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]]; then echo 'Given condition is true.' else echo 'Given condition is not true.' fi
Çıktı
Tek Satırda Bash If Else İfadesi
'İf-else ifadesinin tamamını' komutlarla birlikte tek bir satırda yazabiliriz. If-else ifadesini tek satırda kullanmak için verilen kurallara uymanız gerekir:
başka java
- If ve else bloklarındaki ifadelerin sonunda noktalı virgül (;) kullanın.
- Tüm ifadeleri eklemek için ayırıcı olarak boşluk kullanın.
Aşağıda if-else ifadesinin tek satırda nasıl kullanılacağını gösteren bir örnek verilmiştir:
Örnek
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then echo 'The value you typed is greater than 9.'; else echo 'The value you typed is not greater than 9.'; fi
Çıktı
25 değerini girdiğimizde çıktımız şu şekilde olacaktır:
Bash İç İçe Eğer Başkaysa
Tıpkı iç içe if ifadesi gibi, if-else ifadesi de başka bir if-else ifadesinin içinde kullanılabilir. Bash komut dosyasında buna iç içe if-else adı verilir.
Aşağıda Bash'te iç içe geçmiş if-else ifadesinin nasıl kullanılacağını açıklayan bir örnek verilmiştir:
Örnek
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo '$value>9, $value<11' else echo 'the value you typed is greater than 9.' fi not < pre> <p> <strong>Output</strong> </p> <p>If we enter 10 as value, then the output will look like this:</p> <img src="//techcodeview.com/img/bash-tutorial/63/bash-if-else-4.webp" alt="Bash If Else Statement"> <h2>Conclusion <p>In this topic, we have learned about the syntax and usage of <strong>Bash if-else</strong> statement with the examples.</p> <hr></h2></11'>