در بش هم دستور if وجود دارد. دستورات شرطی در تمامی زبانهای برنامهنویسی وجود دارند و اسکریپتنویسی Shell هم از این قاعده مستثنی نیست؛ زمانی که از یک دستور شرطی در اسکریپت خود استفاده میکنیم، فرایند بعدی بستگی به نتیجهٔ یکی از شرایط زیر دارد:
– مقایسهٔ ۲ عدد یا استرینگ با یکدیگر
– مقدار بازگشتی یک دستور (همانطور که قبلاً اشاره شد، عدد ۰ نشاندهندهٔ موفقیتآمیز بودن کامند است و سایر اعداد هم حاکی از عدم موفقیت یک کامندند).
– چک کردن وجود یک فایل یا پرمیشن (مجوز) و چیزهایی از این دست
بهطورکلی، منظور از String (استرینگ یا رشته) مجموعهای از علائم، کاراکترها، اعداد و یا هرچیزی است؛ بهطور مثال، عبارت BEHZADMORADI1362 یک استرینگ است.
بیشتر برای این استفاده میشه که شما میتونید شرط بذارید تا فایل شلتون فقط اون دستور رو اجرا کنه برای مثال
Tabchi install/.
وقتی میزنید فایل های پیش نیاز نصب میشود.
Tabchi config/.
شما مقادیر ادمین و… را ست میکنید
و یا
Tabchi login/.
که شما ربات رو لوگین میکنید.
حالا ساختارچگونه است:
if [ “$1” = “install” ]
then
echo ” فایل های پیش نیاز در حال نصب هستند”
else
echo “دستور اشتباه است”
if
در اینجا $1 منظور همون install یا config یا login میباشد.
تفاوت این if اینجاست که then پایین تر میاد ن ادامه if برای این که ادامش بیاد
if [ “$1” = “install” ] ; then
به خاطر داشته باشید
در دنیای کامپیوتر، کلیهٔ حروف الفبا اعم از حروف کوچک و بزرگ بهعنوان ماهیتهایی مجزا از یکدیگر شناخته میشوند؛ لذا حروف G و g بهعنوان ۲ حرف متفاوت از یکدیگر تلقی میشوند.
به این صورت میشه و درنهایت end در زبان bash دستور if خواهد بود. متد هایی این دستور دارد برای شرط نویسی که در آموزش بعدی قرار خواهیم داد، در اموزش بعدی دستور case رو خواهیم گفت.
هشدار
درصورتیکه دستور if که در پایان دستورات شرطی میآید را فراموش کنیم بنویسیم، مفسر از ما ایراد خواهد گرفت؛ لذا همواره به یاد داشته باشیم که دستورات شرطی خود را «پایان دهیم» که بهسادگی میتوان اینکار را با کامند if انجام داد که بهنظر میرسد از ابتدای کلمهٔ Finish گرفته شده باشد.
منبع : linuxize
دیدگاه شما