LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

اتخاذ تصمیم در شل - لینوکس - بخش اول

جمعه, ۲۴ مرداد ۱۳۹۳، ۰۴:۲۶ ب.ظ

امروز تصمیم دارم راجع به اتخاذ تصمیم در اسکریپت نویسی به زبان shell یا همون bash ی توضیحاتی بدم. در شل دو حالت کلی وجود داره.

۱) if else

۲) case esac


عبارات if else

امروز من مورد یک رو که همون عبارت if else هست رو توضیح میدم. خود این مساله هم چند حالت داره که خدمتتون میگم:


۱) if fi

این بخش ساده ترین حالت جملات شرطی هست که ابتدای اون کلمه if و انتها باید fi آورده بشه. قاعده کلی استفاده از اون به صورت زیر است:

if [ expression ]
then
   Statement(s) to be executed if expression is true
fi


اگر شرط صحیح بود عبارت درون شرط اجرا میشه. در غیر این صورت عبارت درون شرط اجرا نمیشه. اگر شرط شما یک دستور باشه  و درست باشه سیستم عامل مقدار صفر رو و اگر شرط از نوعه بولین باشه و درست باشه سیستم مقدار true رو برمیگردونه.

به مثال زیر توجه کنید:

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
   echo "a is equal to b"
fi
if [ $a != $b ]
then
   echo "a is not equal to b"
fi


بعد از اجرا کردن کد مقدار زیر رو به شما برمیگردونه:

a is not equal to b


۲) if else if

بعد از شرح مورد قبل این مورد کمی کامل تر هست. به طوری که اگر شرط درست باشه عبارت اجرا میشه اما اگر شرط درست نباشه جملات بعد از else بررسی میشه و به اجرا در میاد.

قاعده کلی استفاده از آن به صورت زیر است:

if [ expression ]
then
   Statement(s) to be executed if expression is true
else
   Statement(s) to be executed if expression is not true
fi

برای درک بهتر به مثال زیر توجه کنید:

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
   echo "a is equal to b"
else
   echo "a is not equal to b"
fi

بعد از اجرا خروجی زیر رو دریافت خواهید کرد:

a is not equal to b


۳) if elif fi

این حالت از کاملترین حالات بررسی شرط هست که بسته به نیازتون میتونید ازش استفاده کنید. در این حالت شما میتونید چند شرط رو داخل یک شرط بررسی کنید. قاعده کلی استفاده از اون به صورت زیر است:

if [ expression 1 ]
then
   Statement(s) to be executed if expression 1 is true
elif [ expression 2 ]
then
   Statement(s) to be executed if expression 2 is true
elif [ expression 3 ]
then
   Statement(s) to be executed if expression 3 is true
else
   Statement(s) to be executed if no expression is true
fi


برای اینکه بهتر متوجه بشید میتونید مثال زیر رو مطالعه و اجرا کنید:

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
   echo "a is equal to b"
elif [ $a -gt $b ]
then
   echo "a is greater than b"
elif [ $a -lt $b ]
then
   echo "a is less than b"
else
   echo "None of the condition met"
fi


بعد از اجرای اسکریپت خروجی زیر رو دریافت خواهید کرد:

a is less than b
موافقین ۴ مخالفین ۰ ۹۳/۰۵/۲۴

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی