نحوه نوشتن IF-Statements در Bash-Script

دستورات، نحو و مثالها

با عبارت if-statement، که یک نوع عبارتی شرطی است، می توانید اقدامات مختلف را بسته به شرایط مشخص انجام دهید. این به طور موثر به سیستم توانایی تصمیم گیری می دهد.

مثال ساده ترین فرم statement-if می تواند باشد:

count = 5 اگر [$ count == 5] سپس echo "$ count" fi

در این مثال، متغیر "count" برای مشخص کردن شرطی است که به عنوان بخشی از if-statement استفاده می شود. قبل از اینکه if-statement اجرا شود، متغیر "count" مقدار "5" را تعیین می کند. اگر statement then بررسی می کند که آیا مقدار "count" برابر "5" است یا خیر. اگر این مورد باشد، عبارت بین کلمات کلیدی "سپس" و "fi" اجرا می شوند، در غیر این صورت هر عبارتی که زیر statement-statement اجرا می شود، اجرا می شود. کلید واژه "fi" "if" به عقب برگردانده شده است. زبان اسکریپتی bash از این کنوانسیون استفاده می کند تا علامت پایان یک عبارت پیچیده، مانند statement-statement یا case-statements باشد.

اظهار "echo"، در این مورد، مقدار متغیر "count" را به پنجره ترمینال چاپ می کند. خنثی سازی کد میان کلمات کلیدی شرط بندی اگر خوانایی را بهبود بخشد، اما لازم نیست.

اگر وضعیتی داشته باشید که یک تکه از کد باید اجرا شود، فقط اگر یک شرط درست نیست، شما می توانید از کلمه کلیدی "else" در statement-if استفاده کنید، همانطور که در این مثال:

count = 5 اگر [$ count == 5] سپس echo "$ count" else echo "count is not 5" fi

اگر مقدار "$ count == 5" درست باشد، سیستم مقدار متغیر "count" را چاپ می کند، در غیر اینصورت رشته "count is not 5" را چاپ می کند.

اگر میخواهید بین شرایط مختلف تفاوت ایجاد کنید، می توانید از کلمه کلیدی "elif" استفاده کنید که از "else else" مشتق شده است، همانطور که در این مثال:

اگر [$ count == 5] then echo "count five" elif [$ count == 6] سپس echo "count six" else echo "none of the above" fi

اگر تعداد "5" باشد، سیستم "تعداد پنج" را چاپ می کند. اگر "count" 5 نیست، اما "6"، سیستم چاپ "count six" است. اگر نه "5" و نه "6"، سیستم "هیچ یک از موارد فوق" را چاپ نمی کند.

همانطور که ممکن است حدس بزنید، شما می توانید هر تعداد از عبارات elif را داشته باشید. یک مثال با شرایط متعدد elif:

اگر [$ count == 5] سپس echo "count five" elif [$ count == 6] then echo "count six" elif [$ count == 7] سپس echo "count seven" elif [$ count = = 8] سپس echo "count eight" elif [$ count == 9] سپس echo "count nine" else echo "none of the above" fi

یک روش جمع و جور برای نوشتن چنین اظهارات با شرایط مختلف، روش مورد است. این عمل شبیه به if-statement با چند عبارت "elif" است اما مختصر است. برای مثال، کد بالا را می توان با عبارت "case" دوباره به صورت زیر نوشته:

مورد "$ count" در 5) echo "count five" ؛؛ 6) اکو "شمارش شش است" ؛؛ 7) اکو "تعداد هفت" ؛؛ 8) اکو "تعداد هشت" ؛؛ 9) echo "count nine" ؛؛ *) اکو "هیچ یک از موارد فوق" esac

اگر در ضمن این مثالها، معمولا در داخل حلقه ها یا درون حلقه ها استفاده می شود،

count = 1 done = 0 در حالی که [$ count -le 9] خوابید 1 ((count ++)) اگر [$ count == 5] سپس ادامه دهید فاکتور "$ count" انجام شده echo Finished

شما همچنین می توانید عبارت های توزیع شده داشته باشید. ساده ترین جمله در صورت بیان عبارت از فرم: اگر ... سپس ... دیگری ... اگر ... پس ... fi ... fi. با این حال، if-statement می تواند با پیچیدگی دلخواه تداخل داشته باشد.

همچنین ببینید چگونه می توانید آرگومان را به اسکریپت bash منتقل کنید ، که نشان می دهد که چگونه از شرط های مورد استفاده برای پردازش پارامترهای منتقل شده از خط فرمان استفاده کنید.

پوسته bash ساختارهای برنامه نویسی دیگر مانند for-loops ، in-loops و arithmetic را فراهم می کند .