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

سرور مجازی NVMe

Bash Nested For Loop

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


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

مثال 01: Simple For Loop

در داخل terminal پوسته، ما یک فایل Bash جدید با نام ” ایجاد خواهیم کردbash.sh با دستور لمس. این فایل در فهرست اصلی سیستم ما ایجاد خواهد شد. این فایل باید در ویرایشگرهای نانو، vim یا متن باز شود تا کد به آن اضافه شود. بنابراین، ما این فایل جدید ایجاد شده را از پوشه اصلی در ویرایشگر “nano” مطابق دستور زیر نشان داده شده است در پوسته و نام یک فایل را باز کرده ایم.

$ دست زدن به bash.sh

$ نانو bash.sh

Bash Nested For Loop

را اضافه کرده ایم bash پسوند در فایل Bash به صورت “#!/bin/bash”. حلقه ساده “for” با دو براکت “ساده” مانند زیر شروع شده است. این حلقه با مقدار 1 (متغیر I) شروع شد و تا زمانی که مقدار برابر با 5 شود ادامه خواهد داشت. بخش “do” حلقه “for” در اینجا نمایش داده می شود. در هر تکرار، قسمت “do” اجرا می شود و دستور echo عدد تکرار را با استفاده از “$i” در آن نشان می دهد. عبارت “انجام شد” پایان حلقه را نشان می دهد. بیایید کد Bash خود را برای اجرا ذخیره کنیم. Ctrl+X را برای خروج فشار دهید. کد در اینجا پیوست شده است.

Bash Nested For LoopBash Nested For Loop

در اجرای این فایل Bash، همه اعداد تکرار را چاپ کرده ایم روی پوسته. خروجی در تصویر چسبانده شده ارائه شده است.

$ bash bash.sh

Bash Nested For LoopBash Nested For Loop

مثال 02: Nest For Loop

بیایید با Nest for loop شروع کنیم. برای این کار، باید دو حلقه “for” را یکی پس از دیگری به ترتیب در کد Bash اضافه کنیم. بنابراین، ما همان فایل را باز کرده و کد خود را به صورت زیر به روز کرده ایم. هر دو حلقه “for” از 1 شروع می شوند و به مقدار 3 با افزایش 1 خاتمه می یابند. حلقه داخلی به طور کامل اجرا می شود، یعنی تا سه مقدار، روی اولین اجرای حلقه بیرونی در تکرار بعدی حلقه بیرونی، حلقه “for” داخلی 3 بار دوباره به مقدار 3 و به همین ترتیب اجرا می شود. روی برای آخرین تکرار نیز. حلقه داخلی 9 بار تکرار می شود، در حالی که حلقه بیرونی 3 بار به این ترتیب عمل می کند. حلقه بیرونی نمی تواند به افزایش بعدی خود برود تا زمانی که حلقه داخلی 3 بار خود را به طور کامل اجرا کند. حلقه داخلی مسئول نشان دادن تعداد تکرار حلقه بیرونی و همچنین حلقه داخلی با استفاده از عبارت “echo” در عبارت “do” آن خواهد بود. هر دو حلقه از طریق “انجام شد” به پایان رسیده اند. کد در اینجا پیوست شده است.

پیشنهاد می‌کنیم بخوانید:  تفاوت بین منبع یابی و اجرای اسکریپت شل چیست؟

Bash Nested For LoopBash Nested For Loop

در اجرای این کد به روز شده با دستور Bash، حلقه داخلی 9 بار یعنی 3 بار برای هر تکرار حلقه بیرونی اجرا می شود. خروجی در تصویر چسبانده شده ارائه شده است.

$ bash bash.sh

Bash Nested For LoopBash Nested For Loop

مثال 03: Nested For Loop در یک خط

حلقه “for” تودرتو را می توان در کد Bash در یک خط استفاده کرد. بنابراین، ما همان فایل Bash را پس از باز کردن آن در ویرایشگر نانو به صورت زیر به روز کرده ایم. برای اولین حلقه “for” از مقادیر x، y و z استفاده کرده ایم. برای حلقه “for” داخلی، از سه عدد 1، 3 و 5 استفاده کرده ایم. در دستور “do” هر دو مقدار تکرار حلقه داخلی و خارجی نمایش داده می شود. هر دو حلقه با استفاده از بندهای “انجام شد” که در زیر نشان داده شده است به پایان می رسند. کد در اینجا پیوست شده است.

Bash Nested For LoopBash Nested For Loop

در اجرای این قطعه کد 1 خطی، خروجی زیر را نشان داده ایم. برای هر مقدار از حلقه بیرونی، حلقه داخلی تا سه مقدار آن یعنی 1، 3، 5 اجرا می شود. خروجی در تصویر چسبانده شده ارائه می شود.

$ bash bash.sh

Bash Nested For LoopBash Nested For Loop

مثال 04: Nested For Loop

بیایید مثال دیگری را برای نشان دادن عملکرد حلقه “for” تودرتو بیاوریم. این بار، ما از حلقه بیرونی در مجموع 10 تکرار از 1 تا 10 استفاده کرده‌ایم. در این حلقه، یک حلقه “for” دیگر استفاده شده است. حلقه “for” داخلی از تابع “seq” برای ایجاد دنباله ای از هر کاراکتر ضرب در مقدار تکرار حلقه بیرونی استفاده می کند. این بدان معناست که مقدار حلقه بیرونی تعیین می کند که چه تعداد از کاراکترها نمایش داده می شوند روی پوسته. در حلقه داخلی، از دستور “echo” با استفاده از پرچم “-n” استفاده کرده‌ایم تا بررسی کنیم که آیا رشته بعدی که در دستور درج می‌شود کاراکتری است یا خالی است. کاراکتر “*” به عنوان یک مقدار اضافه شده است تا در عدد تکرار ضرب شود. اولین حلقه “for” به پایان می رسد و یک دستور “echo” دیگر برای قرار دادن شکست خط استفاده می شود. حلقه for بیرونی پس از 10 تکرار به پایان می رسد. بیایید این کد را ذخیره کنیم تا نتیجه آن را ببینیم روی پوسته. کد در اینجا پیوست شده است.

پیشنهاد می‌کنیم بخوانید:  چگونه یک رشته را از توابع Bash برگردانیم

Bash Nested For LoopBash Nested For Loop

در اجرای این کد Bash، الگوی زیبای نویسه‌های «*» را در زیر نشان داده شده‌ایم که به ترتیب 1 تا 10 به تدریج افزایش می‌یابد. خروجی در تصویر چسبانده شده ارائه شده است.

$ bash bash.sh

Bash Nested For LoopBash Nested For Loop

نتیجه

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

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

زمان انتشار: 1402-12-30 02:24:05

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

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

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