Bash Komut Dosyasında Koşullu İfadeler Nasıl Kullanılır
Authoradmin
22 Ekim 20224 dakika
Share
Bu kılavuzda, bash betiğinde if, if-else, If-elif-else, netsted if ve case gibi koşullu ifadelerin nasıl kullanılacağını öğreneceğiz. Koşullu ifadeler, koşula göre karar vermeye yardımcı olduğu için bash betiğinde önemli bir rol oynar.
Bir bash betiğinde, if ifadesi bir koşulun doğru olup olmadığını kontrol eder. Eğer öyleyse, kabuk if ifadesiyle ilişkili kod bloğunu yürütür. İfade true değilse, kabuk if ifade bloğunun sonunun ötesine atlar ve Devam eder.
if [ condition_command ]
then
command1
command2
……..
last_command
fi
Aşağıdaki bash betiği örneğinde, if koşulu deyimini kullanarak iki sayıyı karşılaştırıyoruz.
#!/bin/bash
echo "Enter the Number: "
read n
if [ $n -lt 150 ]
then
echo "Number is $n"
fi
Bu betiği çalıştırdığımızda eğer 150’den küçükse sayıyı yazdıracaktır.
if-else İfadesi
Normal if deyimine ek olarak, if deyimini bir else bloğu ile genişletebiliriz. Temel fikir, eğer ifade true ise if bloğunu yürütmektir. İfade yanlışsa, else bloğunu yürütün.
Syntax :
if [ condition_command ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
If we modify the above script and insert else block then it would look like below,
#!/bin/bash
echo "Enter the Number: "
read n
if [ $n -gt 150 ]
then
echo "Number $n is greater than 150"
else
echo "Number $n is smaller than 150"
fi
Bash betiğinde, if deyimini kullanarak birden çok koşul uygulamak istiyorsanız, ‘if elif else’ kullanın. Bu tür koşullu deyimlerde, ilk koşul sağlanırsa aşağıdaki kod çalıştırılır, aksi takdirde sonraki koşul kontrol edilir ve eşleşmezse aşağıdaki komutlar yürütülür, aksi takdirde deyim yürütülür. Sözdizimi ve örneği aşağıda gösterilmiştir.
sözdizimi:
if [ condition_command ]
then
command1
command2
……..
last_command
elif [ condition_command2 ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
#!/bin/bash
echo "Enter the Number: "
read n
if [ $n -gt 150 ]
then
echo "Number $n is greater than 150"
elif [ $n -lt 150 ]
then
echo "Number $n is smaller than 150"
else
echo "Number $n is equal to 150"
fi
Komut Dosyası Yürütme çıktısı,
İç içe if İfadesi
If deyimi ve else deyimi bir bash betiğinde yuvalanabilir. ‘fi’ anahtar sözcüğü, iç if ifadesinin sonunu gösterir ve tüm if ifadesinin ‘fi’ anahtar kelimesiyle bitmesi gerekir.
Yuvalanmış if’nin temel sözdizimi aşağıda gösterilmiştir:
if [ condition_command ]
then
command1
command2
……..
last_command
else
if [ condition_command2 ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
fi
Yukarıdaki komut dosyasını iç içe if ifadesini kullanacak şekilde değiştirdiğimizde, kodu aşağıdaki gibi görünür,
#!/bin/bash
echo "Enter the Number: "
read n
if [ $n -gt 150 ]
then
echo "Number $n is greater than 150"
else
if [ $n -lt 150 ]
then
echo "Number $n is smaller than 150"
else
echo "Number $n is equal to 150"
fi
fi
Vaka Açıklaması
Case deyimi, birden fazla elif içeren if deyimine benzer. bash betiğindeki case ifadesi ifadeyi genişletir ve ardından tüm kalıplarla eşleşmeyi bulmaya çalışır. Bir eşleşme bulunduğunda, tüm ifadeler çift noktalı virgüle (;;) kadar yürütülür. Eşleşme olmaması durumunda *) kalıbında belirtilen ifadeler çalıştırılacaktır.
case expression in
pattern1)
statements
;;
pattern2)
statements
;;
pattern3)
statements
;;
pattern-n)
statements
;;
*)
statements
;;
esac
#!/bin/bash
echo "Which is Your Favorite Linux Distro?"
echo "Debian, Ubuntu, SUSE, RHEL, Arch"
read -p "Type Your Linux Distro:" OS
case $OS in
Debian)
echo "Most Stable Linux OS, good choice "
;;
Ubuntu)
echo "Best Linux OS for Desktop and Servers"
;;
SUSE)
echo "Top Linux OS for SAP Application"
;;
Arch)
echo "Flexible OS for experienced Linux users"
;;
*)
echo "Please Enter Correct OS from the list"
;;
esac
Bash Komut Dosyasında Koşullu İfadeler Nasıl Kullanılır
Bu kılavuzda, bash betiğinde if, if-else, If-elif-else, netsted if ve case gibi koşullu ifadelerin nasıl kullanılacağını öğreneceğiz. Koşullu ifadeler, koşula göre karar vermeye yardımcı olduğu için bash betiğinde önemli bir rol oynar.
Bir bash betiğinde, if ifadesi bir koşulun doğru olup olmadığını kontrol eder. Eğer öyleyse, kabuk if ifadesiyle ilişkili kod bloğunu yürütür. İfade true değilse, kabuk if ifade bloğunun sonunun ötesine atlar ve Devam eder.
Makale İçeriği
if Bildirimi
Sözdizimi:
if [ condition_command ]
then
command1
command2
……..
last_command
fi
Aşağıdaki bash betiği örneğinde, if koşulu deyimini kullanarak iki sayıyı karşılaştırıyoruz.
Bu betiği çalıştırdığımızda eğer 150’den küçükse sayıyı yazdıracaktır.
if-else İfadesi
Normal if deyimine ek olarak, if deyimini bir else bloğu ile genişletebiliriz. Temel fikir, eğer ifade true ise if bloğunu yürütmektir. İfade yanlışsa, else bloğunu yürütün.
Syntax :
if [ condition_command ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
If we modify the above script and insert else block then it would look like below,
Komut dosyasını çalıştırıp 129 sayısını girersek, aşağıda gösterildiği gibi else bloğunu çalıştıracaktır,
If-elif-else İfadesi
Bash betiğinde, if deyimini kullanarak birden çok koşul uygulamak istiyorsanız, ‘if elif else’ kullanın. Bu tür koşullu deyimlerde, ilk koşul sağlanırsa aşağıdaki kod çalıştırılır, aksi takdirde sonraki koşul kontrol edilir ve eşleşmezse aşağıdaki komutlar yürütülür, aksi takdirde deyim yürütülür. Sözdizimi ve örneği aşağıda gösterilmiştir.
sözdizimi:
if [ condition_command ]
then
command1
command2
……..
last_command
elif [ condition_command2 ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
Komut Dosyası Yürütme çıktısı,
İç içe if İfadesi
If deyimi ve else deyimi bir bash betiğinde yuvalanabilir. ‘fi’ anahtar sözcüğü, iç if ifadesinin sonunu gösterir ve tüm if ifadesinin ‘fi’ anahtar kelimesiyle bitmesi gerekir.
Yuvalanmış if’nin temel sözdizimi aşağıda gösterilmiştir:
if [ condition_command ]
then
command1
command2
……..
last_command
else
if [ condition_command2 ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
fi
Yukarıdaki komut dosyasını iç içe if ifadesini kullanacak şekilde değiştirdiğimizde, kodu aşağıdaki gibi görünür,
Vaka Açıklaması
Case deyimi, birden fazla elif içeren if deyimine benzer. bash betiğindeki case ifadesi ifadeyi genişletir ve ardından tüm kalıplarla eşleşmeyi bulmaya çalışır. Bir eşleşme bulunduğunda, tüm ifadeler çift noktalı virgüle (;;) kadar yürütülür. Eşleşme olmaması durumunda *) kalıbında belirtilen ifadeler çalıştırılacaktır.