Bu ifadelerden ilk if/else'i inceleyeceğiz. If/else'i bir örnek üzerinden inceleyelim.
#!/bin/bash
echo "Yapmak istediginiz islem icin lutfen numara giriniz.\n"
read var1
echo "var1=$var1"
if [ "$var1" == "1" ];
then
ls;
else
echo "Yanlis";
fi
Yukarıdaki örneğimizde kullanıcıdan bir numara girmesini istiyoruz. Bu numaraya göre de işlem yaptırıyoruz. Buradaki syntax'ımıza göre önce if ile başlayıp sonra karşılaştırmamızı yaptırıyoruz. Ertesinde then diyip koşulumuzun doğru olması durumunda bulunduğumuz klasör de ls çekip içeriklere bakarken, 1 dışında herhangi bir numara girince "yanlış" şeklinde bir uyarı çıkarmaktadır. En sonunda "fi" denerek işlem bitirilir.
Burada syntax ve boşluklar çok önemlidir. if'ten sonra bir boşluk sonra köşeli parantezlerden sonrada birer boşluk bırakılması önemlidir.
Buradaki örnekte ise yas aralıkları kontrol edilmektedir. Kullanıcının girdiği yaşa göre bir sonuç döndürmektedir. Burada farklı olan "else" yerine "elif" örneği verilmiştir.
#!/bin/sh
echo "Yaş giriniz.:"
read yas
if [ "$yas" -lt 20 ] || [ "$yas" -ge 50 ]; then
echo "yas aralıgının dısında ."
elif [ "$yas" -ge 20 ] && [ "$yas" -lt 30 ]; then
echo "20'den büyük 30'tan küçük"
elif [ "$yas" -ge 30 ] && [ "$yas" -lt 40 ]; then
echo "30'dan büyük 40'tan küçük"
elif [ "$yas" -ge 40 ] && [ "$yas" -lt 50 ]; then
echo "40'tan büyük 50'den küçük"
fi
Shell Scripting'deki Karşılaştırma Operatörleri:
-eq eşittir
-ne eşit değildir
-lt küçüktür
-le küçük eşittir
-gt büyüktür
-ge büyük eşittir
== eşittir
!= eşit değildir
İf/Else Örneği:
Örneğimizin amacı `pwd` ile "$PWD" komutlarının sonucu aynıdır. Bu yüzden kullanıcıların kafaları karışabilinir. " ` " işareti " ' " bu işaretle karıştırılmamalıdır.
LOG_DIR=/home/users/oracle
if [ `pwd` != "$LOG_DIR" ] #veya: if [ "$PWD" != "$LOG_DIR" ]
then
echo "Oracle Home'unda değilsiniz."
exit;
fi
Hiç yorum yok:
Yorum Gönder