IF ifadeleri

Bash Script Yazmaya Giriş

Alex Scriven

Data Scientist

Temel bir IF ifadesi

Bash'te temel bir IF ifadesi şu yapıya sahiptir:

if [ CONDITION ]; then

# SOME CODE
else # SOME OTHER CODE
fi

İki ipucu:

  • Köşeli parantezlerle içindeki öğeler arasında boşluk bırakın (ilk satır)
  • Kapanış parantezinden sonra noktalı virgül ]; koyun
Bash Script Yazmaya Giriş

IF ve stringler

IF içinde basit bir string karşılaştırması yapabiliriz:

x="Queen"

if [ $x == "King" ]; then
echo "$x is a King!"
else echo "$x is not a King!" fi
Queen is not a King!

'A eşit değil' için != de kullanabilirsiniz

Bash Script Yazmaya Giriş

Aritmetik IF (seçenek 1)

Aritmetik IF ifadeleri çift parantez yapısını kullanabilir:

x=10

if (($x > 5)); then echo "$x is more than 5!" fi
10 is more than 5!
Bash Script Yazmaya Giriş

Aritmetik IF (seçenek 2)

Aritmetik IF ifadeleri ayrıca köşeli parantez ve aritmetik bayraklar da kullanabilir (>, <, =, != yerine):

  • 'eşittir' için -eq
  • 'eşit değildir' için -ne
  • 'küçüktür' için -lt
  • 'küçük veya eşittir' için -le
  • 'büyüktür' için -gt
  • 'büyük veya eşittir' için -ge
Bash Script Yazmaya Giriş

Aritmetik IF örneği

Son örneği köşeli parantezle yeniden oluşturalım:

x=10
if [ $x -gt 5 ]; then
    echo "$x is more than 5!"
fi
10 is more than 5!
Bash Script Yazmaya Giriş

Diğer Bash koşul bayrakları

Bash, aşağıdaki gibi çeşitli dosya bayrakları da sunar:

  • -e dosya varsa
  • -s dosya varsa ve boyutu sıfırdan büyükse
  • -r dosya varsa ve okunabilirse
  • -w dosya varsa ve yazılabilirse

Ve daha fazlası:

Bash Script Yazmaya Giriş

Bash'te VE ve VEYA kullanımı

 

Koşulları birleştirmek (VE) veya VEYA kullanmak için şu semboller kullanılır:

  • && VE için
  • || VEYA için
Bash Script Yazmaya Giriş

Birden çok koşul

Bash'te koşulları şu şekilde zincirleyebilirsiniz:

x=10
if [ $x -gt 5 ] && [ $x -lt 11 ]; then
    echo "$x is more than 5 and less than 11!"
fi

Ya da çift köşeli parantez kullanabilirsiniz:

x=10
if [[ $x -gt 5 && $x -lt 11 ]]; then
    echo "$x is more than 5 and less than 11!"
fi
Bash Script Yazmaya Giriş

IF ve komut satırı programları

Köşeli parantezleri kaldırarak pek çok komut satırı programını doğrudan koşulda kullanabilirsiniz.

Örneğin, words.txt dosyasında 'Hello World!' varsa:

if grep -q Hello words.txt; then
    echo "Hello is inside!"
fi
Hello is inside!
Bash Script Yazmaya Giriş

Kabuk içinde kabuk ile IF

Koşul için kabuk içinde kabuk da çağırabilirsiniz.

Aynı sonucu üretecek şekilde son örneği yeniden yazalım.

if $(grep -q Hello words.txt); then
    echo "Hello is inside!"
fi
Hello is inside!
Bash Script Yazmaya Giriş

Hadi pratik yapalım!

Bash Script Yazmaya Giriş

Preparing Video For Download...