وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

تسلط بر حلقه های Bash “For”: راهنمای گام به گام

0 2
زمان لازم برای مطالعه: 7 دقیقه


حلقه های For برای تکرار استفاده می شود. هنگام نوشتن یک کد، باید بدانید که چگونه از حلقه های “for” برای دستیابی به وظایف مختلف استفاده کنید. خوب، امکان انجام تکرارها در Bash وجود دارد. هنگام خودکار کردن وظایف، درک روش عملکرد حلقه های Bash “for” مفید است.

این راهنما در مورد حلقه های Bash “for” است. ما نحوی که باید دنبال شود را درک خواهیم کرد و مثال‌های متعددی از نمونه‌ها و روش‌های استفاده از حلقه‌های Bash “for” ارائه می‌کنیم. بیا شروع کنیم!

روش استفاده از حلقه های Bash “For”.

برای استفاده از حلقه‌های «for» در Bash، باید اسکریپت خود را ایجاد کنید و تعریف کنید که از چه متغیرهایی برای حلقه استفاده کنید. در حالت ایده آل، حلقه “for” متکی است روی متغیرها و دستورات ارائه شده برای اجرا مطابق با انتظارات شما.

بیایید یک فایل Bash ایجاد کنیم که برای این آموزش استفاده خواهیم کرد. در اینجا، ما از ویرایشگر نانو استفاده می کنیم، اما شما می توانید از ویرایشگرهای دیگر مانند Vim استفاده کنید. ما اسکریپت خود را “linuxint.sh” نام گذاری می کنیم.

تسلط بر حلقه های Bash "For": راهنمای گام به گام

برای درک ساختار حلقه های Bash “for”، اجازه دهید اسکریپتی ایجاد کنیم که از یک حلقه “for” برای تکرار متغیرهای ارائه شده همانطور که در زیر نشان داده شده است استفاده می کند:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

در اسکریپت قبلی، بیایید هر خط کد را تشریح کنیم تا آن را با جزئیات درک کنیم.

  1. #!/bin/bash – این اولین خط در اسکریپت ما است و آن را اضافه می کنیم تا نمادی باشد که در حال ایجاد یک اسکریپت Bash هستیم.
  2. برای x در 1 2 3 – در اینجا “for” مخفف حلقه است. “x” متغیر متغیر است و مواردی که باید تکرار شوند “1، 2 و 3” هستند.
  3. انجام دادن – برای نماد شروع حلقه “for” اضافه شده است. در زیر آن، جایی است که شما دستوراتی را که می خواهید برای هر حلقه اجرا کنید، اضافه می کنید. به عنوان مثال، ما از دستور “echo” برای خروجی “Number” و مکان نگهدار برای هر آیتمی که اضافه کردیم استفاده می کنیم.
  4. انجام شده -ما این کلمه کلیدی را اضافه می کنیم تا پس از انجام همه تکرارها، حلقه متوقف شود.

اکنون که حلقه “for” خود را در اسکریپت Bash ایجاد کرده ایم، فایل را ذخیره کرده و از آن خارج شوید. ابتدا باید مجوز اجرایی را برای اجرای اسکریپت اضافه کنیم.

سودو chmod +x <filename.sh>

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

سپس اسکریپت را مطابق شکل زیر اجرا کنید. مراقب باشید که چگونه حلقه Bash “for” را در حال تکرار موارد در متغیر متغیر همانطور که انتظار می رود دریافت می کنیم. اینگونه است که حلقه “for” Bash در شکل اصلی خود کار می کند.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

کار با Ranges

حلقه “for” عمدتا زمانی استفاده می شود که می خواهید با محدوده ای در اسکریپت خود کار کنید. می توانید شروع و پایان محدوده را تعریف کنید. به عنوان مثال، اگر می‌خواهید نسخه کوتاه‌تری از دستور قبلی را برای کار با محدوده 1 تا 5 پیاده‌سازی کنید، می‌توانید پیاده‌سازی حلقه «for» را به شکل زیر تغییر دهید:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

اجرای قبلی با Bash نسخه 4+ کار می کند. اگر اسکریپت را اجرا کنیم، باز هم خروجی مشابهی دریافت می کنیم.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

فرض کنید می‌خواهید یک فرمان «پینگ» را برای محدوده داده‌شده IP شبکه‌تان خودکار کنید. پینگ کردن همه IP ها زمان بر است و روشی قدیمی برای انجام کارها است. بهترین گزینه ایجاد محدوده ای برای IP ها با استفاده از حلقه های Bash “for” است.

در مثال زیر اولین مجموعه را برای محدوده IP ها مشخص می کنیم و محدوده را با استفاده از حلقه for تعریف می کنیم. در قسمت “do”، آن را طوری تنظیم می کنیم که برای هر تکرار در محدوده، دستور “ping” را اجرا کند.

پیشنهاد می‌کنیم بخوانید:  روش خواندن ورودی کاربر در یک متغیر در Bash

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

مراقب باشید که چگونه از حلقه های Bash “for” برای خودکارسازی استفاده می کنیم process و هر IP را در محدوده ما پینگ کنید.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

کار با افزایش دامنه

تعریف یک افزایش برای حلقه “for” خود هنگام کار با طیف وسیعی از موارد ممکن است. فرض کنید برای تمام IP هایی که می خواهید پینگ کنید، 3 افزایش می خواهید. برای این کار، گزینه increment را مانند شکل زیر اضافه کنید:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

هنگامی که اسکریپت Bash را اجرا می کنید، متوجه خواهید شد که برای هر پینگ، ما موفق می شویم هر IP را با افزایش 3 پینگ کنیم.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

کار با چند دستور در حلقه های Bash “For”.

هنگام ایجاد اسکریپت خود، حلقه “for” به شما امکان می دهد چندین دستور را زنجیره ای کنید. موارد متعددی وجود دارد که زنجیره‌ای کردن دستورات مفید است. با حلقه “for” می توانید هر تعداد دستور را در حلقه “for” زنجیره بزنید. هنگامی که اسکریپت را اجرا می کنید، تمام دستورات زنجیره ای همانطور که انتظار می رود اجرا می شوند.

فرض کنید می‌خواهید همه فایل‌های دایرکتوری فعلی را با پسوند «.txt» فهرست کنید و سپس نام آن‌ها را تغییر دهید تا پسوند حذف شود. شما می توانید به راحتی دستورات را زنجیره ای کنید.

ابتدا، اجازه دهید تأیید کنیم که فایل های متنی را با استفاده از دستور “ls” در دایرکتوری خود داریم.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

سپس، بیایید حلقه Bash “for” خود را ایجاد کنیم که فایل های موجود را بررسی می کند روی دایرکتوری و آنهایی را که پسوند «.txt» دارند فهرست می کند. در بخش “do” از دستور echo برای فهرست کردن فایل‌های متنی موجود استفاده می‌کنیم. سپس، آن را با دستور “mv” زنجیر می کنیم تا نام فایل ها را تغییر دهیم تا به حذف پسوند کمک کنیم. در نهایت، ما تکرار می کنیم که فایل ها تغییر نام داده اند.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

ویرایشگر متن را ذخیره کرده و از آن خارج شوید. هنگامی که اسکریپت را اجرا می کنیم، توجه کنید که چگونه توانستیم تمام فایل های متنی موجود را فهرست کرده و نام آنها را تغییر دهیم.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

اگر بخواهیم تمام فایل های متنی را لیست کنیم، با خطا مواجه می شویم. وقتی دستور “ls” را تغییر می‌دهیم، می‌توانیم تأیید کنیم که فایل‌های قبلی ما اکنون پسوند “.txt” ندارند زیرا توانستیم با استفاده از حلقه “for” Bash آن را حذف کنیم.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

Bash “For” عبارات متعددی را حلقه می کند

شما می توانید یک حلقه سه عبارت Bash “for” ایجاد کنید. اولین عبارت در حلقه “for” اولیه ساز است که زمینه را برای حلقه تنظیم می کند. عبارت دوم شرطی است که اجرای حلقه را تضمین می کند، مشروط بر اینکه شرط درست باشد. سومین عبارت عبارت شمارش است که عمدتاً افزایش یا کاهش است.

دستور زیر برای استفاده است:

برای (( بیان 1; اصطلاح 2; بیان 3 ))
انجام دادن

command_1
command_n
انجام شده

بیایید یک مثال ساده داشته باشیم که در آن یک حلقه Bash “for” برای چاپ اعداد از 10 تا 1 ایجاد می کنیم. برای آن، عبارت one ما 10 است و 1 شرط است. حلقه “for” Bash به شرح زیر است:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

اگر اسکریپت را اجرا کنیم، می توانیم تأیید کنیم که با موفقیت اجرا می شود.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

Loop “For” را بزنید. پرش و ادامه دهید

حتی با حلقه های Bash “for”، می توانید یک پرش ایجاد کنید و حلقه “for” را ادامه دهید. حالتی را تصور کنید که می‌خواهید اسکریپت را خودکار کنید، اما می‌خواهید شرایط مشخصی را تأیید کنید. در صورت برآورده شدن شرایط، می توانید از حلقه رد شده و با آن ادامه دهید.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

هنگامی که دستور را اجرا کردید، متوجه خواهید شد که وقتی متغیر هنگام اجرا با “4” ملاقات می کند، از آن می گذرد و به اجرای حلقه ادامه می دهد. می توانید همین مفهوم را برای اجرای هر حلقه Bash “for” برای برآورده کردن دستور کار خود اعمال کنید.

شکستن حلقه “For” را بشکنید

شما می توانید یک حلقه Bash “for” را پیاده سازی کنید که با برآورده شدن یک شرط معین می شکند. برای مثال، فرض کنید می‌خواهید فهرستی از فایل‌ها را حلقه بزنید و تنها زمانی شکسته می‌شوید که یک شرط معین برآورده شود. حلقه “for” Bash تنها در صورتی شکسته می شود که شرط موجود در دستور “if” برآورده شود. در غیر این صورت، به حلقه زدن ادامه می دهد.

پیشنهاد می‌کنیم بخوانید:  Bash Scripting: نمادها

در اینجا مثالی از حلقه “for” Bash برای شکستن حلقه شرطی آورده شده است:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

حلقه قبلی Bash “for” اجرا خواهد شد. وقتی “file2” برآورده شود، خراب می شود. تصویر زیر روش اجرای حلقه را نشان می دهد. توجه داشته باشید که چگونه فایل‌های دیگر بازتاب داده نمی‌شوند زیرا شرط موجود در عبارت «if» برآورده شده است.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

یک کاربرد واقع بینانه مثال قبلی حلقه زدن از طریق رشته ها زمانی است که می خواهید بسته های متعددی را با یک اسکریپت نصب کنید. به عنوان مثال، فرض کنید می خواهید سه بسته را نصب کنید. برای آن، شما باید حلقه “for” Bash خود را به صورت زیر بنویسید:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

هنگامی که اسکریپت را اجرا می کنید، بسته های اضافه شده شروع به نصب می کنند روی سیستم شما

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

این گزینه استفاده از حلقه های Bash “for” نصب سریع بسته های متعدد تنها با یک اسکریپت را آسان می کند.

Infinity Bash “For” Loop

در برخی موارد نادر، ممکن است بخواهید یک حلقه Bash بی نهایت “for” ایجاد کنید. برای آن، شما از “;” استفاده می کنید. در حلقه for و سپس دستور اجرای بی نهایت را صادر کنید.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

هنگامی که اجرا می شود، حلقه شما برای همیشه اجرا می شود مگر اینکه برای خاتمه آن، “Ctrl + C” را فشار دهید.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

مقادیر حلقه Bash

می توانید دستورات مختلفی را اجرا کنید روی شما terminal برای انجام یک کار معین به عنوان مثال، دستور “ls” به شما امکان می دهد تمام فایل های موجود در فهرست فعلی را فهرست کنید. شما می توانید همان دستور را در اسکریپت خود با استفاده از حلقه “for” Bash اجرا کنید. نگاهی بیاندازید!

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

با اجرای حلقه قبلی Bash “for”، ما موفق می شویم تمام فایل های دایرکتوری فعلی را همانطور که در زیر نشان داده شده است لیست کنیم:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

به طور مشابه، فرض کنید می خواهید یک دنباله معین را فهرست کنید. به جای استفاده از دستور “seq”، می توانید همان را با استفاده از حلقه “for” Bash مانند مثال زیر پیاده سازی کنید:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

اسکریپت قبلی دنباله اعداد از 1 تا 8 را چاپ می کند.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

اشکال زدایی حلقه های Bash “For”.

اشکال زدایی بخشی از زندگی روزمره ماست. هنگام کار با اسکریپت Bash می توانید از گزینه حلقه “for” برای رفع اشکال اسکریپت خود استفاده کنید. ممکن است در اسکریپت خطایی داشته باشید و نخواهید نمایش داده شود روی را terminal. در این صورت، می توانید یک فایل خروجی ایجاد کنید که حاوی اطلاعات اشکال زدایی با استفاده از حلقه “for” باشد. به این ترتیب، رابط کاربری تمیزی را حفظ خواهید کرد.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

در تصویر قبلی، ما یک حلقه “for” برای تکرار دنباله ای از IP ها با افزایش 3 ایجاد کردیم. در خط آخر، مشخص کردیم که هرگونه اطلاعات اشکال زدایی یا خروجی حلقه “for” باید در “ips” ذخیره شود. فایل -output.txt”. بیایید اسکریپت را اجرا کنیم تا ببینیم چه اتفاقی می افتد:

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

ما متوجه شدیم که از آنجایی که تمام خروجی ها به فایل مشخص شده هدایت می شوند، توانستیم فضای کاری تمیزی را حفظ کنیم. برای اشکال‌زدایی اسکریپت، فایل خروجی را که با استفاده از ویرایشگر متن یا دستوری مانند «cat» ایجاد می‌شود، باز کنید و ببینید چه چیزی در آن وجود دارد. در مورد ما، فایل خروجی نشان می دهد که پس از اجرای دستورات در حلقه “for” Bash ما چه انتظاری داشتیم. اگر دستورات اجرا نشدند، از این فایل خروجی برای اشکال زدایی اسکریپت خود استفاده کنید.

تسلط بر حلقه های Bash "For": راهنمای گام به گامتسلط بر حلقه های Bash "For": راهنمای گام به گام

نتیجه

استفاده از Bash در بسیاری از کارها به خصوص در اتوماسیون مفید است. هنگام ایجاد اسکریپت Bash می توانید از حلقه های “for” برای دستیابی به عملکردهای مختلف استفاده کنید. این پست روش عملکرد حلقه “for” را توضیح داد و نمونه ها و مثال های متعددی را ارائه کرد روی روش ایجاد حلقه های Bash “for”. امیدواریم اکنون بتوانید حلقه های “for” را در اسکریپت Bash خود بنویسید. خودشه!

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-28 17:08:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید