4 مثال کاربردی از دستور if در بش

ruin3r

مدیر کل انجمن
عضو کادر مدیریت
مدیر کل انجمن
عضویت
10/5/15
ارسال ها
146
امتیاز
6
سلام.
تمام کسانی که سر رشته کافی از زبان برنامه نویسی داشته باشند می دانند که دستور if پرکاربرد ترین دستور در تمامی زبان های برنامه نویسی بوده و این دستور در زبان بش نیز مستثنی نبوده است.
در بش ما می توانیم از دستور if به چهار الگوی زیر استفاده کنیم:

کد:
if..then..fi statement (if ساده)
if..then..else..fi statement (If-Else)
if..elif..else..fi statement (Else If ladder)
if..then..else..if..then..fi..fi..(if به صورت تو در تو)
1.if ساده (If..then..fi) :
کد:
if [ conditional expression ]
then
    statement1
    statement2
    .
fi
مثال:

کد:
#!/bin/bash
echo "please enter count:"
    read $count
        if [ $count -eq 100 ]
    then
      echo "Count is 100"
fi
در این مثال اگر مقدار $count بیشتر از 100 وارد شود برنامه ارور می دهد چون نمی تواند بیش از این مقدار را تحلیل کند.
لطفا به نمونه های بعدی دقت کنید.

2.If-Else(If..then..else..fi) :

کد:
If [ conditional expression ]
then
    statement1
    statement2
    .
else
    statement3
    statement4
    .
fi
مثال:

کد:
#!/bin/bash
echo "please enter count:"
    read $count
        if [ $count -eq 100 ]
    then
  echo "Count is 100"
    else
  echo "Count is not 100"
fi
در این مثال ما از کاربر مقدار count رو دریافت میکنیم.
اگر این مقدار 100 بود که پیغام میدهد Count is 100 و یا اگر این مقدار نبود پیغام می دهد که Count is not 100.
در این مثال نیز اگر مقدار $count بیشتر از 100 وارد شود برنامه ارور می دهد چون نمی تواند بیش از این مقدار را تحلیل کند.
با توجه به نمونه شماره 3 این مورد رو برطرف خواهیم کرد.

3.Else If ladder(If..elif..else..fi)

کد:
If [ conditional expression1 ]
then
    statement1
    statement2
    .
elif [ conditional expression2 ]
then
    statement3
    statement4
    .
.
.
else
    statement5
fi
مثال:

کد:
#!/bin/bash
echo "please enter count:"
    read $count
        if [ $count -eq 100 ]
    then
  echo "Count is 100"
        elif [ $count -gt 100 ]
    then
  echo "Count is greater than 100"
else
  echo "Count is less than 100"
fi
در این مثال ما مقدار $count رو از کاربر دریافت میکنیم.
اگر این مقدار برابر با 100 بود پیغام می دهد که Count is 100.اگر بیش از 100 بود پیغام می دهد که Count is greater than 100 و اگر کمتر بود پیغام می دهد که Count is less than 100.

4.if به صورت تو در تو (If..then..else..if..then..fi..fi)

کد:
If [ conditional expression1 ]
then
    statement1
    statement2
    .
else
    if [ conditional expression2 ]
    then
        statement3
        .
    fi
fi
مثال:

کد:
#!/bin/bash
echo "please enter count:"
    read $count
        if [ $count -eq 100 ]
    then
  echo "Count is 100"
    else
         if [ $count -gt 100 ]
      then
  echo "Count is greater than 100"
      else
  echo "Count is less than 100"
  fi
fi
این مثال هم عملکرد مثال 4 رو دارد.

این 4 نمونه از مثال های پرکاربرد if در بش می باشد که به صورت مثال توضیح دادم.
سوالی بود در همین تاپیک بپرسید در خدمتم.
 
بالا