آموزش اسکریپت نویسی لینوکس (عبارتهای منظم و شرطها)
آموزش اسکریپت نویسی لینوکس (عبارتهای منظم و شرطها)
عبارتهای منظم
عبارتهای منظم (regex) مشابه الگوهای جانشین هستند، اما در BASH نمی توانند برای انطباق با نام فایل به کار بروند.
از نگارش 3.0، BASH عملگر =~ در کلمه کلیدی [[ را پشتیبانی میکند.
این عملگر رشتهای را که قبل از آن میآید با الگوی regex که بعد از آن میآید، مطابقت میدهد.
موقعی که رشته با الگو منطبق گردد، کلمه کلیدی [[ یک کد خروج 0 (true) بر میگرداند.
اگر رشته با الگو مطابقت نداشته باشد، یک کد خروج 1 (false) باز گردانده میشود.
در صورتی که ترکیب دستوری الگو معتبر نباشد، [[ از عملیات صرفنظر نموده و یک کد خروج 2 صادر میکند.
BASH از عبارت منظم توسعه یافته (ERE) نیز استفاده میکند.
الگوهای عبارت منظم که برای گرفتن گروهها (پرانتزها) به کار میروند،
رشتههای گرفته شدهشان را برای بازیابی بعدی، به متغیر BASH_REMATCH، تخصیص خواهند داد.
اجازه دهید، تشریح کنم که regex در BASH چگونه کار میکند:
شرطها و بررسیها
اجرای ترتیبی فرمانها به جای خود، برای دستیابی به منطق پیشرفته در اسکریپتهایتان یا در خط فرمان یک جملهای، به شرط ها و بررسی ها نیاز دارید.
بررسی ها تعیین میکنند که یک مطلبی صحیح است یا غلط . شرط ها برای تصمیم سازی در مورد انجام فرامینی در اسکریپت به کار میروند.
وضعیت خروج
از هر دستور، موقعی که خاتمه مییابد یک کد خروج حاصل میشود.
این کد خروج توسط هر برنامهای که آن دستور را اجرا نموده برای تعیین آنکه مقصودش به درستی انجام شده یا نه استفاده میشود.
این کد خروج مشابه مقدار برگشتی از توابع میباشد. این کد یک عدد صحیح از صفر تا ۲۵۵ میباشد.
مطابق قرارداد از صفر برای مشخص نمودن موفقیت استفاده میکنیم، و هر عدد دیگر بیانگر نوعی شکست میباشد.
هر برنامه معینی، عدد خاصی را برای اشاره به آنکه دقیقا چه اشتباهی رخ داده به کار میبرد.
به عنوان مثال، دستور ping بستههای ICMP را در شبکه برای یک میزبان معین ارسال میکند.
به طور معمول آن میزبان، با برگشت دادن دقیق همان بسته پاسخ میدهد.
به این طریق میتوانیم کنترل کنیم که آیا میتوانیم یک ارتباط با میزبان راه دور برقرار کنیم.
دستور ping دامنهای از کدهای خروج دارد که اگر مشکلی باشد، میتواند به ما بگوید، چه چیز نادرست است.
از مستندات ping لینوکس:
اگر ping هیچ بسته بازگشتی دریافت نکند، با کد 1 خارج خواهد شد.
اگر یک شماره بسته و یک محدوده زمانی تعیین شده باشد
و شمارش بستههای دریافتی در زمان تعیین شده با عدد کمتری اعلام شود نیز با کد 1 خارج میشود.
در سایر موارد خطا با کد 2 خارج میشود. در غیر اینصورت با کد صفر خارج میشود.
و استفاده از کد خروج امکان آن را فراهم میکند که ببینیم میزبان فعال میباشد یا خیر.
پارامتر ویژه ? کد خروج آخرین پردازش پیشزمینه خاتمه یافته را به ما میدهد.
اجازه دهید برای دیدن کدهای خروج فرمان ping مثالهایی بزنیم:
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فرازنتورک را در این صفحه اجتماعی دنبال کنید.
آموزش اسکریپت نویسی لینوکس (عبارتهای منظم – نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.