از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Bash and Conditions: یک راهنمای کامل
سرفصلهای مطلب
شرایط مختلفی در یک اسکریپت Bash وجود دارد، اما “عبارات if” رایج ترین آنها هستند. بسیاری از مبتدیان همیشه می خواهند درباره Bash و شرایط بیشتر بدانند. در این آموزش روش استفاده از شرایط Bash در لینوکس توضیح داده خواهد شد.
Bash and Conditions: یک راهنمای کامل
- اگر بیانیه
- Advanced If Statements
- بیانیه های If-Else
- بیانیه های If-Elif
- Nested If Statements
- اظهارات موردی
- عملیات بولی
بیایید به بحث مختصر در مورد هر شرط Bash با چند مثال نگاه کنیم.
1. اگر بیانیه
اگر دستورات به شما اجازه می دهند که تصمیم بگیرید که آیا دستور خاص کد را طبق شرایط اجرا کنید یا نه. به کلمه کلیدی “if” در ابتدا و کلمه کلیدی “fi” در انتهای عبارت کد نیاز دارد.
اگر شرط درست باشد، کد اعمال را انجام می دهد. اگر نادرست باشد، کد را لغو می کند. به عنوان مثال، بیایید یک اسکریپت ایجاد کنیم که اگر یک مقدار از مقدار دیگر بزرگتر باشد، یک عبارت را برمی گرداند:
اگر [ $1 -gt 50 ]
سپس
اکو 1 دلار “بیشتر از 50 است”
pwd
فی
اکنون، اگر از هر عددی بزرگتر از 50 استفاده کنید، اسکریپت نتیجه زیر را نشان می دهد:
اگر عددی کمتر از 50 وارد کنید، هیچ عبارتی را بر نمی گرداند.
2. Advanced If Statements
عبارت «اگر» در صورتی که درست نباشد هیچ نتیجه ای ارائه نمی دهد. به همین دلیل است که گزارههای مختلف پیشرفته در تصویر میآیند.
بیانیه If-Else
دستور if-else نتیجه را ارائه می دهد حتی اگر گزاره درست نباشد. بنابراین، اگر مقدار درست باشد، شرط_1 را برمیگرداند. اگر false باشد شرط_2 را برمی گرداند. به عنوان مثال، می توانید یک اسکریپت ایجاد کنید که در مورد مقایسه دو عدد نتیجه می دهد:
اگر [ $1 -gt 150 ]
سپس
اکو 1 دلار “بیشتر از 150 است.”
دیگر
اکو 1 دلار “بیشتر از 150 نیست.”
فی
هنگامی که اسکریپت را در terminal، ممکن است نتیجه زیر را طبق عدد بدست آورید:
./<script.sh> 123
همانطور که در تصویر قبلی مشاهده می کنید، 163 “163 بزرگتر از 150 است” و 123 “123 بزرگتر از 150 نیست” را برمی گرداند.
بیانیه If-Elif
عبارت if-elif حول سه شرط می چرخد و آن را به یکی از پیچیده ترین شرایط تبدیل می کند. در این حالت، در صورت صحیح بودن دستورات، اجرا یکی یکی از طریق دستورات انجام می شود یا در صورت نادرست بودن هر دستوری از آن عبور می کند. به عنوان مثال، اجازه دهید یک اسکریپت ایجاد کنیم که زوج، فرد یا صفر بودن عدد را مشخص کند:
حال، اسکریپت را در قسمت اجرا کنید terminal و هر عددی را وارد کنید تا جزئیات مربوطه چاپ شود:
Nested If Statements
میتوانید چندین «اگر شرط» را در یک اسکریپت در عبارات تودرتو اضافه کنید. به عنوان مثال، می توانید دو شرط مختلف را ترکیب کنید که در آن اسکریپت می تواند ارزیابی کند که عدد داده شده بزرگتر از 150 است و اینکه آیا یک عدد زوج یا فرد است:
اکنون، اگر اسکریپت را اجرا کنید و هر عددی را وارد کنید، ممکن است نتیجه را مطابق با آن دریافت کنید:
3. بیانیه مورد
این دستور Bash شرایط پیچیده ای را که شامل چندین گزینه است، ساده می کند. شما میتوانید عبارت if را با ;; تا به راحتی به نتیجه برسید میتوانید چندین شرط را به دستورات case اضافه کنید تا اسکریپت تمیزتر و درک آن آسانتر شود. به عنوان مثال، اجازه دهید یک اسکریپت ایجاد کنیم که جزئیات مربوط به کارمندان و تعیین آنها را ارائه دهد:
اکنون می توانید اسکریپت را در قسمت اجرا کنید terminal و هر نامی را وارد کنید:
4. عملیات بولی
گاهی اوقات، شما می خواهید “اگر شرایط” را اجرا کنید، اما گاهی اوقات، شرایط متعددی در یک اسکریپت وجود دارد. به همین دلیل است که ما از عملیات Boolean استفاده می کنیم که به صورت زیر طبقه بندی می شوند:
- منطقی و (&&) که اگر هر دو عملوند true باشند true را برمی گرداند یا در غیر این صورت false را برمی گرداند.
- مساوی نیست با (!) که یک عملگر یوناری است که فقط در صورت false بودن عملوندها true را برمیگرداند اما در صورت درست بودن عملوندها false را برمیگرداند.
- منطقی یا (||) که اگر یکی یا هر دو عملوند true باشد true را برمی گرداند، اما اگر هیچ یک از آنها true نباشد false را برمی گرداند.
در اینجا مثالی است که در آن همه عملگرهای Boolean را در اسکریپت Bash قرار می دهیم:
پس از ایجاد اسکریپت، آن را در قسمت اجرا کنید terminal:
نتیجه:
این مقاله در مورد شرایط Bash است که می توانید در لینوکس استفاده کنید. ما از مثال های مختلفی برای توضیح مختصر هر شرایط استفاده کردیم. این شرایط می تواند به شما کمک کند تا اسکریپت های Bash را ایجاد کنید و نتایج را به راحتی دریافت کنید. اسکریپت Bash به شرایط محدود نمی شود، زیرا حاوی مفاهیم زیادی است. اگر میخواهید درباره مفاهیم Bash بیشتر بدانید، لطفاً از Linuxhint دیدن کنید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 18:47:03