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

سرور مجازی NVMe

برای مثال های حلقه Bash

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


حلقه ها بخش بسیار مهمی از هر نوع زبان برنامه نویسی یا برنامه نویسی هستند. مانند هر برنامه نویسی استاندارد دیگری، از حلقه ها نیز استفاده می شود bash برنامه نویسی برای انجام کارهای تکراری در میان سه نوع حلقه (while، do-while، for)، حلقه for برای انجام انواع مختلف وظایف تکراری بسیار مفید است. کاربردهای اصلی حلقه “for” در اینجا نشان داده شده است. اما حلقه “for” را می توان برای انجام برخی از وظایف سطح پیشرفته استفاده کرد. اگر می خواهید کاربردهای بیشتری از حلقه for بدانید، باید این آموزش را بخوانید. 12 مثال مفید از حلقه “for” در این آموزش نشان داده شده است تا سایر کاربردهای خاص حلقه “for” را در bash.

نحو:

حلقه for به دو صورت قابل استفاده است bash. یک راه “for-in” و راه دیگر نحو c-style است. هر دو نحو در زیر نشان داده شده است.

برای متغیر که در فهرست
انجام دادن

بیانیه
انجام شده

یا
برای (( بیان 1; بیان2; بیان 3 ))
انجام دادن

بیانیه
انجام شده

مثال-1: حلقه برای خواندن متغیر ورودی

لیست رشته ها یا آرایه های از پیش تعریف شده را می توان با استفاده از حلقه “for” که در آموزش قبلی حلقه for نشان داده شده است، به راحتی خواند. روش خواندن محتوای متغیر ورودی با استفاده از حلقه for در این مثال نشان داده شده است. یک فایل با نام ایجاد کنیدforloop1.shبا اسکریپت زیر پس از اجرای اسکریپت، یک مقدار ورودی از یک متن چند کلمه ای گرفته می شود. در اینجا، حلقه for برای تقسیم متن به کلمات بر اساس استفاده می شود روی فضای سفید و print هر کلمه با موقعیت

forloop1.sh

#!/صندوقچه/bash
echo “یک متن چند کلمه ای را وارد کنید”
خواندن متن
من=1
برای کلمه که در $text
انجام دادن
echo “کلمه نه-$i = کلمه $
((من=$i+1))
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash forloop1.sh

در اینجا، یک متن 5 کلمه ای گرفته می شود، بنابراین پنج خط خروجی چاپ می شود.

برای مثال های حلقه Bash

مثال-2: حلقه For با دستور break

دستور ‘break’ در داخل حلقه ‘for’ استفاده می شود تا از حلقه خاتمه یابد. یک فایل با نام ایجاد کنیدforloop2.sh’ با کد زیر حلقه “for” در اینجا برای خواندن لیستی از چهار نفر استفاده می شود. دو شرط در اینجا آزمایش می شود. اگر نام شخص “امیر و رنگ آن است ‘آبی’ سپس حلقه پس از چاپ نام و رنگ فرد خاتمه می یابد. مقادیر رنگ دومین حلقه for چاپ می شود تا زمانی که مقدار رنگ “آبی” مطابقت داشته باشد.

forloop2.sh

برای نام که در واتسون مایکل سینها امیر لیلی
انجام دادن
اگر [ $name == ‘Amir’ ]
سپس
برای رنگ که در قرمز سبز آبی سفید
انجام دادن
اگر [ $color == “Blue” ]
سپس
echo “رنگ مورد علاقه از $name است $ رنگ
زنگ تفریح
دیگر
echo “رنگ فعلی است $ رنگ
فی
انجام شده
فی
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash forloop2.sh

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

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-3: حلقه For با دستور continue

عبارت ‘continue’ در داخل حلقه ‘for’ برای رد شدن از هر عبارتی استفاده می شود روی یک شرایط خاص یک فایل به نام ایجاد کنید ‘forloop3.sh’ با اسکریپت زیر در اینجا، یک متغیر به نام دوره های $ برای تعیین مقدار متن استفاده می شود. حلقه ‘for’ برای خواندن متغیر $courses استفاده می شود. مقدار متن بر اساس تقسیم بندی می شود روی فاصله و خواندن توسط حلقه ‘for’. وقتی مقدار، «Oracle» با آن مطابقت دارد دوره $ سپس آن را انجام خواهد داد print اوراکل در حال حاضر در دسترس نیست. برای مقادیر دیگر، «کلاس $course در حال اجرا است». دوره ای که در دسترس نیست آخرین دستور حلقه “for” را برای دستور continue اجرا نمی کند.

forloop3.sh

#!/bin/sh

دوره های آموزشی=“Java PHP Oracle VB.net”
برای دوره که در دوره های $
انجام دادن
اگر [ $course == ‘Oracle’ ]
سپس
echo $ البته در حال حاضر موجود نیست”
ادامه هید
فی
echo “کلاس از $ البته در حال اجراست”
انجام شده

پیشنهاد می‌کنیم بخوانید:  آرایه چاپ Bash با خطوط جدید

خروجی:

اسکریپت را اجرا کنید.

$ bash forloop3.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-4: استفاده از خروجی فرمان به عنوان لیست

هر bash خروجی فرمان را می توان با استفاده از backtick(`) در حلقه “for” استفاده کرد. یک فایل به نام ایجاد کنید ‘forloop4.sh’ با اسکریپت زیر اینجا، “ls *.txt”. دستور در حلقه استفاده می شود. این دستور لیستی از فایل متنی را از دایرکتوری فعلی ایجاد می کند. حلقه ‘for’ هر نام فایل را از خروجی فرمان تکرار می کند و آن را در متغیر ذخیره می کند $filename که خواهد شد print بعد. اینجا، $n متغیر برای نمایش شماره فایل استفاده می شود.

forloop4.sh

n=1
برای نام فایل که در `ls *txt`
انجام دادن
echo “شماره پرونده –$n : $filename
((n++))
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash forloop1.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-5: برای حلقه برای خواندن یک محدوده

حلقه “for” را می توان برای خواندن محدوده داده ها استفاده کرد. مثال زیر محدوده ای از کاراکترها را می خواند و جستجو می کند که هر کاراکتری در متن وجود دارد یا خیر. یک فایل به نام ایجاد کنید ‘forloop5.sh’ و اسکریپت زیر را اضافه کنید. اینجا، محدوده، [A-Z] در حلقه for استفاده می شود. این بدان معناست که حلقه “for” برای هر حرف بزرگ 26 بار تکرار می شود. هر کاراکتر با استفاده از دستور ‘awk’ در $text جستجو می شود. اگر کاراکتری پیدا شود، مقدار را در $result ذخیره می کند. بعد. $result برای هر محتوایی بررسی می شود. اگر خالی نباشد، یک پیام خواهد بود print.

forloop5.sh

متن=“زبان برنامه نویسی Bash”
برای ج که در {A..Z}
انجام دادن
نتیجه=`printf $text | بیخیال “/$ c/”`
اگر [[ $result != “” ]]
سپس
echo $ c در متن وجود دارد”
فی
انجام شده

اسکریپت را اجرا کنید.

$ bash forloop5.sh

در اینجا، الفبای “B”، “L” و “S” موجود در متن، “Bash Scripting Language” وجود دارد. بنابراین، سه خط خروجی چاپ می شود.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-6: برای حلقه برای خواندن یک محدوده با افزایش

این مثال نشان می‌دهد که چگونه می‌توانید از حلقه «for» برای پیدا کردن همه اعداد زوج در یک محدوده خاص استفاده کنید. یک فایل به نام ایجاد کنید ‘forloop6.sh’ و اسکریپت زیر را اضافه کنید. در اینجا، طیف وسیعی از [2-20] در حلقه ای استفاده می شود که در آن هر مرحله 2 افزایش می یابد. حلقه 10 بار تکرار می شود و print عدد در هر مرحله

forloop6.sh

echo “چاپ تمام اعداد زوج از 1 تا 20”
برای n که در {2..20..2}
انجام دادن
echo -n $n
انجام شده
printf \nانجام شده\n

اسکریپت را اجرا کنید.

$ bash forloop6.sh

تمام اعداد زوج بین 2-20 پس از اجرای اسکریپت چاپ می شوند.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-7: حلقه برای کار با فایل

این مثال نشان می‌دهد که چگونه می‌توانید برای خواندن فهرستی از فایل‌های خاص، حلقه «for» را انجام دهید. یک فایل با نام، ‘forloop7.sh’ و اسکریپت زیر را اضافه کنید. در اینجا، حلقه برای فهرست تمام فایل‌های متنی از فهرست فعلی استفاده می‌شود و پسوند فایل از ‘.txt’ به ‘.doc’ جایگزین می‌شود.

forloop7.sh

echo “تعویض پسوند فایل تمام فایل های متنی به فایل doc.”
برای نام فایل که در *txt. انجام دادن
mv $filename ${filename%.txt}.doc”
انجام شده
echo “تعویض با موفقیت انجام شد”

خروجی:

اگر فایل متنی در فهرست فعلی وجود ندارد ابتدا یک فایل متنی ایجاد کنید. در اینجا، یک فایل متنی به نام “newfile.txt” با استفاده از دستور “cat” ایجاد می شود.

$ گربه > newfile.txt

اسکریپت ذکر شده در بالا را اجرا کنید.

$ bash forloop7.sh

سپس، با استفاده از دستور ls بررسی کنید که پسوند تغییر کرده یا نه.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-8: حلقه For با دستور sequence

مثال زیر نشان می دهد که چگونه می توانید از ” استفاده کنیددنبالهدر حلقه “for” به print لیستی از شماره های ترتیبی دستور ‘seq’ به طور مشابه مانند محدوده با افزایش کار می کند. یک فایل به نام ایجاد کنید ‘forloop8.sh’ و اسکریپت زیر را اضافه کنید. حلقه خواهد شد print اعداد بین 1 تا 30 با حذف سه عدد در هر مرحله.

forloop8.sh

echo “چاپ اعداد با رد 3”
برای مربع که در $(دنباله 1 3 30)
انجام دادن
echo “شماره ترتیب : $ مربع
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash forloop8.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-9: استفاده از حلقه برای بی نهایت

حلقه بی نهایت می تواند برای انجام هر کار تکراری چندین بار استفاده شود تا زمانی که یک شرط خاص ظاهر شود. یک فایل به نام ایجاد کنید ‘forloop9.sh’ با اسکریپت زیر استفاده از حلقه بی نهایت را بررسی کنید. در اینجا هیچ شرط پایانی در حلقه تعریف نشده است. حلقه منوی 5 لیست را تا زمانی که عدد 5 فشار داده شود نمایش می دهد. خواهد شد print یک پیام خاص برای سایر اعداد از 1 تا 4 و نمایش مجدد منو.

پیشنهاد می‌کنیم بخوانید:  روش اضافه کردن چندین خط به یک فایل با Bash

forloop9.sh

برای (( ; ; ))
انجام دادن
echo “1. چاپ پیام موفقیت آمیز”
echo “2. چاپ پیام اطلاعاتی”
echo “3. چاپ پیام هشدار”
echo “4. print پیغام خطا”
echo “5. خروج”
echo -n “هر شماره ای را انتخاب کنید [1-5]:”
خواندن پاسخ

مورد $پاسخ که در
1) echo “با موفقیت تکمیل شد.” ;;
2) echo “ورودی نامعتبر”;;
3) echo “باتری کامپیوتر شما کم است”;;
4) echo “تعداد آرگومان اشتباهی ارسال شده است”;;
5) خروج 0;;
*) echo “انتخاب اشتباه”;;
اساک
انجام شده

اسکریپت را اجرا کنید.

$ bash forloop9.sh

در اینجا، 9 برای اولین بار فشار داده می شود که در لیست وجود ندارد. برای این ورودی، “انتخاب اشتباه” چاپ می شود و دوباره منو نمایش می دهد. در مرحله بعد، 1 فشار داده می شود و پیغام “با موفقیت تکمیل شد” نمایش داده می شود. بعد، 5 فشار داده می شود تا از برنامه خاتمه یابد.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-10: استفاده از حلقه For بدون لیست.

حلقه ‘for’ را می توان بدون هیچ لیست یا آرایه یا خروجی فرمان استفاده کرد. چگونه می توانید از حلقه “for” برای خواندن آرگومان های خط فرمان استفاده کنید در این مثال نشان داده شده است. یک فایل با نام، ‘forloop10.sh’ و اسکریپت زیر را اضافه کنید. حلقه بر اساس تکرار خواهد شد روی تعداد آرگومان های خط فرمان متغیر $counter برای یافتن هر مرحله از حلقه که در هر مرحله 1 افزایش می یابد استفاده می شود.

forloop10.sh

پیشخوان=1
برای متن
انجام دادن
اگر [ $counter -eq 2 ]
سپس
خ=“رنگ مورد علاقه ی من هست “
elif [ $counter -eq 3 ]
سپس
خ=“من عاشق “
دیگر
خ=“من دوست دارم “
فی
echo $str $text
((پیشخوان=شمارنده $+1))
انجام شده

اسکریپت را با مقادیر آرگومان خط فرمان اجرا کنید.

$ bash برنامه نویسی forloop10.sh بستنی آبی

این اسکریپت پیام «من بستنی دوست دارم» را در زمانی که شمارنده $ 1 است، «رنگ مورد علاقه من آبی است» زمانی که شمارنده $ 2 است و «من عاشق برنامه نویسی هستم» زمانی که شمارنده $ 3 است را چاپ کرده است.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-11: خواندن فایل ها و دایرکتوری ها با استفاده از حلقه for

از حلقه for می توان استفاده کرد print لیست فایل ها و پوشه های دایرکتوری فعلی یک فایل با نام ایجاد کنیدforloop11.shو اسکریپت زیر را اضافه کنید. در اینجا، نماد ‘*’ در حلقه ‘for’ برای خواندن فایل ها و پوشه های دایرکتوری فعلی استفاده می شود. حلقه نام هر فایل یا پوشه را در هر مرحله می خواند و print آن را در terminal با یک فضای ‘tab’.

forloop11.sh

printf پین کردن فایل ها و پوشه های دایرکتوری فعلی…\n\n
برای فهرست که در *
انجام دادن
printf لیست $\ t
انجام شده
printf \n\nانجام شده\n

اسکریپت را اجرا کنید.

$ bash forloop11.sh

نام فایل ها و پوشه های دایرکتوری فعلی کار پس از اجرای اسکریپت چاپ می شود.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

مثال-12: استفاده از کاما در bash سبک سی برای حلقه

حلقه ‘for’ به سبک C نیز در آن پشتیبانی می شود bash و این حلقه ‘for’ سه عبارت دارد. اینها عبارتند از مقداردهی اولیه، شرط پایان و افزایش یا کاهش. اما با استفاده از کاما(,)، می توانید چندین متغیر اولیه را در آن تعریف کنید bash که در این مثال نشان داده شده است. یک فایل با نام، ایجاد کنیدforloop12.sh’ و اسکریپت زیر را اضافه کنید. حلقه “for” تودرتو در این اسکریپت استفاده شده است. دو متغیر مقداردهی اولیه، تیم $، و جرسی دلار در اولین حلقه “for” اعلام می شوند. اولین حلقه زمانی خاتمه می یابد تیم $ بیش از 2 خواهد بود. هیچ متغیر اولیه سازی در حلقه “for” داخلی وجود ندارد و حلقه داخلی در جایی خاتمه می یابد که جرسی دلار بیش از 3 است. جرسی دلار پس از تکمیل حلقه داخلی تکرار روی 1 تنظیم می شود. بنابراین، حلقه بیرونی 2 بار و حلقه داخلی 3 بار تکرار می شود.

forloop12.sh

برای ((تیم=1، پیراهن ورزشی=1; تیم <= 2 ; تیم ++))
انجام دادن
برای(( ; پیراهن ورزشی <= 3 ; پیراهن ++))
انجام دادن
echo “تیم نه-تیم $، جرسی نه-جرسی دلار
انجام شده
پیراهن ورزشی=1
انجام شده

اسکریپت را اجرا کنید.

$ bash forloop12.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

برای مثال های حلقه Bashبرای مثال های حلقه Bash

نتیجه:

در این آموزش سعی شده است بسیاری از کاربردهای موثر حلقه ‘for’ توضیح داده شود. پس از تمرین مثال‌های بالا، امیدواریم خوانندگان دانش روشنی در مورد حلقه for به دست آورند و 0 بتوانند از این حلقه به درستی در bash اسکریپت

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

زمان انتشار: 1402-12-31 20:54:04

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

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

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