از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
حلقه تودرتو در نمونه های اسکریپت Bash
سرفصلهای مطلب
در برنامه نویسی یا اسکریپت، حلقه یکی از اساسی ترین و قوی ترین مفاهیم است. یک حلقه در حال انجام وظایف خاصی است تا زمانی که شرایط مشخص شده برآورده شود. هر زبان برنامه نویسی یا برنامه نویسی روش های مختلفی برای پیاده سازی مفهوم دارد.
در این راهنما، حلقه تو در تو را بررسی کنید bash اسکریپت نویسی
حلقه تو در تو
یک حلقه، طبق تعریف، انجام وظایف خاصی است تا زمانی که شرایط برآورده شود. اگر کار شامل اجرای یک حلقه باشد چه؟ این مفهوم یک حلقه تو در تو است. یک حلقه در یک حلقه.
این ساختار اصلی یک حلقه است.
#چیزی
}
در اینجا، حلقه while حفظ خواهد شد روی انجام وظایف اعلام شده در داخل بلوک تا زمانی که شرط برقرار باشد. در مورد حلقه while تو در تو، ساختار به این شکل خواهد بود.
در حالی که (وضعیت){
# حلقه تو در تو
در حالی که(وضعیت){
#چیزی
}
}
در تئوری، حلقه های تو در تو می توانند به عمق بی نهایت بروند. در بسیاری از موقعیت ها، حلقه های تو در تو می توانند راه حل مناسبی باشند.
حلقه در bash اسکریپت
Bash یک زبان برنامه نویسی قدرتمند است. ساختارهای حلقه متفاوتی در آن وجود دارد bash. محبوب ترین آنها حلقه های for، while و while هستند. اگر قبلاً با برنامه نویسی C/C++ آشنا هستید، قطعاً سینتکس کاملاً مشابه به نظر می رسد.
برای حلقه ها
حلقه For یکی از رایج ترین و پرکاربردترین فرم ها خروجی ها و غیره است. ساختار حلقه ها در bash اسکریپت نویسی این ساختار همچنین در C/C++ بسیار شبیه حلقه for است.
ساختار حلقه for در bash به شرح زیر است.
#چیزی
انجام شده
ساختار بسیار خود توضیحی است. بخش مقداردهی اولیه اجباری نیست. با این حال، شرایط و افزایش اولویت بالاتری دارند.
بیایید آن را عملی کنیم. در اینجا بسیار ساده است bash اسکریپتی که برای حلقه پیاده سازی می کند.
echo “سلام دنیا”
انجام شده
همچنین می توان از list/range به عنوان شرط حلقه استفاده کرد. اگر با فهرستی از فایلها، محدودههای اعداد، آرایهها، خروجیهای فرمان و غیره کار کنید، این کار بهویژه مفید است. ساختار چیزی شبیه به این است.
#چیزی
انجام شده
به عنوان مثال، اسکریپت زیر خواهد بود print “سلام دنیا” پنج بار.
echo “سلام دنیا”
انجام شده
اگر بخواهیم با محتویات یک دایرکتوری کار کنیم چه؟ در مثال زیر، اسکریپت خواهد شد print تمام فایل های موجود در پوشه /usr/bin.
echo $i
انجام شده
حالا برای داشتن یک حلقه for تو در تو چه کار کنیم؟ این فقط یک حلقه برای در داخل دیگری است. در اینجا یک حلقه برای تو در تو با استفاده از مثال قبلی آورده شده است.
برای((j = 0 ; j < 2 ; j++)); انجام دادن
echo “سلام دنیا”
انجام شده
انجام شده
خروجی 6 بار “سلام جهان” خواهد بود. حلقه بیرونی سه بار اجرا می شود و حلقه داخلی دو بار اجرا می شود.
در حالی که حلقه ها
حلقه while یکی دیگر از حلقههای محبوب و شهودی است که در آن موجود است bash اسکریپت نویسی نحو به این شکل است.
#چیزی
انجام شده
در مثال زیر، اسکریپت خواهد شد print “سلام دنیا” پنج بار.
در حالی که [ $num -le 5 ]; انجام دادن
echo “سلام دنیا”
تعداد=$((تعداد $+1))
انجام شده
داشتن یک حلقه while تو در تو چگونه به نظر می رسد؟ در اینجا یک مثال ساده است.
بیحس=1
در حالی که [ $num_a -le 5 ]; انجام دادن
در حالی که [ $num_b -le 5 ]; انجام دادن
echo “سلام دنیا”
بیحس=$(($num_b+1))
انجام شده
num_a=$(($num_a+1))
انجام شده
تا حلقه ها
اگر پس زمینه برنامه نویسی در C/C++ دارید، پس با حلقه do-while آشنا هستید. متاسفانه، bash همچین چیزی نداره با این حال، تا زمانی که حلقه به روشی مشابه عمل کند. نحو نیز کاملاً مشابه به نظر می رسد.
#چیزی
انجام شده
تفاوت بین while و while شرط تست است. تا زمانی که شرط تست درست باشد، یک حلقه while به کار خود ادامه خواهد داد. با این حال، یک حلقه تا زمانی که شرط نادرست باشد به کار خود ادامه خواهد داد.
در اینجا یک مثال سریع از حلقه while آورده شده است. خواهد شد print جدول ضرب 2
تا زمان [ $num_a -gt 10 ]; انجام دادن
echo $(($num_a * 2))
num_a=$(($num_a+1))
انجام شده
شکستن حلقه
در شرایط خاص، اگر شرایط خاصی برآورده شود، اجرای بقیه حلقه اضافی می شود. شکستن حلقه یک ویژگی جالب است که اجازه می دهد تا در یک شرایط خاص از حلقه خارج شوید. برای حلقههای تو در تو مهمتر است، زیرا هرچه حلقهها بیشتر باشد، مصرف منابع و ناکارآمدی بیشتر است.
در اینجا، حلقه for زیر به محض رسیدن به شرط، اجرای آن متوقف خواهد شد.
echo $i
اگر [ $i -eq 10 ]; سپس
زنگ تفریح
فی
انجام شده
برای توضیح عمیق و نمایش شکست های حلقه، روش شکستن حلقه while را بررسی کنید.
افکار نهایی
حلقه تو در تو مفهومی ساده و قدرتمند برای درک و پیاده سازی است. امیدواریم این راهنما بتواند مفهوم را توصیف و نشان دهد.
علاقه مند به بیشتر bash راهنمای برنامه نویسی؟ راهنماهای زیر را بررسی کنید.
- حلقه بی نهایت بش
- ورودی کاربر اسکریپت Bash
- آرایه برگردان تابع Bash
محاسبات مبارک!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 23:45:03