لینوکسی بشیم: حلقه‌ها در bash

کم‌کم داریم اوستای بش میشیم. الانم میخوایم یه چیز دیگه رو تو بش یاد بگیریم که خیلی میتونه کمک کنه تو کارهامون و اونم حلقه هستش. امیدوارم قسمت ‌قبلی و قسمت‌های قبل اون رو خونده باشید یا بلد باشید. این مطلب به درد کسایی میخوره که شغل لینوکسی میخوان داشته باشن و اسکریپت‌ نویسی انجام بدن. برای برنامه‌نویس‌ها هم میتونه خوب باشه چون ممکنه لازم بشه یه اسکریپتی رو بخونن و بفهمن یا حتی خودشون بخوان بنویسن.

تو این نوشته فرض بر اینه که متغیرها رو توی بش میشناسید و یه آشنایی با سیستم عامل گنو/لینوکس دارید. خوبه که مطالب قبلی دنباله رو هم بخونید. هم‌چنین دونستن یه زبان برنامه‌نویسی در حد حلقه‌ها هم لازمه.

دیگه شروع کنیم. میخوایم راجع به دو تا حلقه for و while صحبت کنیم. قبل از شروع اینم بگم که این مطلب هم مثل قبلی احساس میکنه یه کم زشته (واقعا هم زشته)؛ چون معمولا از اینا تو اسکریپت استفاده میکنیم و اینجا جاش نیست. شما یه جور رفتار کنید که انگار نه انگار. خب، اول ساختار کلی for رو ببینید:

معمولا این طوریه که چن تا کلمه که از هم با فاصله جدا شدن رو جلوی for می‌نویسیم تا روی اون حلقه رو اجرا کنیم. item هر بار در حلقه یکی از مقادیر داده شده رو میگیره. برای اینکه از for استفاده کنیم از کلمه‌ی in بهره بردیم. در خط بعدی عبارت do میاد و انتهاش هم done. بین این دو تا هر چند تا دستور که بخوایم مینویسیم. منطقیه که از item هم توش استفاده شه. یادتون نره از اینا $ بذارید؛ چون اونم یه متغیره.

یه جور دیگه هم از for استفاده میشه:

اینجا تقریبا همونه فقط یه بازه‌ای از اعداد رو گذاشتیم. اونم به این شکل که داخل {} (که بهش curly bracket میگن) عدد اول، دو تا نقطه و عدد آخر رو میاریم. حالا اون i هر بار مقدارش میشه هر کدوم از اون عددها داخل بازه.

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

بعد از for نوبت به while میرسه:

ترکیبی از if و for رو شاهد هستیم. بعد از while یه عبارت شرطی رو داخل یه جفت [ ] میذاریم. شرط‌ها همون شرط‌هایی هستن که قسمت قبل دیدیم. بعدش do و done یادمون نمیره و بین این دو تا هم دستورا میان. اونجا که num داره یه دونه کم میشه رو که از بخش متغیرها یادتون هست؟

دفتر حلقه‌ها هم به پایان آمد. بعدا که بیشتر یاد گرفتیم کمی بهتر هم میتونیم از اینا استفاده کنیم. امیدوارم براتون این مطلب مفید بوده باشه. اگه نظر یا سوالی داشتید این پایین بنویسید.

قسمت قبلی

قسمت بعدی