از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
BASH برای مثال های حلقه
سرفصلهای مطلب
نحو حلقه for:
برای ارزش که در فهرست
انجام دادن
دستورات
انجام شده
# حلقه مقادیر مشخص شده
برای ارزش که در file1 file2 file3
انجام دادن
دستورات
انجام شده
# حلقه از طریق رشته های حاصل از یک دستور
برای ارزش که در $(لینوکس فرمان)
انجام دادن
دستورات
انجام شده
# حلقه از طریق افزایش یا کاهش اعداد
# رویه سنتی برای حلقه
برای (( من=0; من<10; i++)
انجام دادن
دستورات
انجام شده
با توجه به نحو بالا، بلوک شروع و پایان از برای حلقه توسط تعریف می شود انجام دادن و انجام شده کلمات کلیدی در bash اسکریپت کاربرد حلقه های مختلف در قسمت بعدی این آموزش نشان داده شده است.
مثال-1: خواندن مقادیر استاتیک
ایجاد یک bash فایل به نام loop1.sh با اسکریپت زیر برای خواندن مقادیر از یک لیست با استفاده از حلقه for. در این مثال، 5 مقدار ثابت در لیست ها اعلام شده است. این حلقه 5 بار تکرار می شود و هر بار یک مقدار از لیست ها دریافت می کند و آن را در متغیری به نام رنگ ذخیره می کند که در داخل حلقه چاپ می شود.
# حلقه را برای خواندن مقادیر رشته تعریف کنید
برای رنگ که در آبی سبز صورتی سفید قرمز
انجام دادن
# مقدار رشته را چاپ کنید
اکو “رنگ = $ رنگ“
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-2: خواندن متغیر آرایه
برای تکرار مقادیر یک آرایه می توانید از حلقه for استفاده کنید. جدید ایجاد کنید bash فایل به نام loop2.sh با اسکریپت زیر در این مثال، حلقه مقادیر را از یک متغیر آرایه به نام بازیابی می کند ColorList، و تنها در صورتی خروجی را چاپ می کند رنگ صورتی مقدار در عناصر آرایه یافت می شود.
# اعلام و آرایه کنید
ColorList=(“آبی سبز صورتی سفید قرمز”)
# حلقه را برای تکرار مقادیر آرایه تعریف کنید
برای رنگ که در $ColorList
انجام دادن
# بررسی کنید مقدار صورتی باشد یا خیر
اگر [ $color == ‘Pink’ ]
سپس
اکو “رنگ مورد علاقه ی من هست $ رنگ“
فی
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-3: خواندن آرگومان های خط فرمان
مقادیر آرگومان های خط فرمان را می توان با استفاده از حلقه for تکرار کرد bash. جدید ایجاد کنید bash فایل به نام loop3.sh با اسکریپت زیر را بخوانید و چاپ کنید command-line مقادیر آرگومان با استفاده از حلقه for.
# حلقه را برای خواندن مقادیر آرگومان تعریف کنید
برای myval که در $*
انجام دادن
# هر آرگومان را چاپ کنید
اکو “بحث و جدل: $myval“
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود. دو استدلال به عنوان آورده شده است command-line استدلال در اینجا اینها هستند ‘لینوکس“و”اشاره‘.
مثال-4: یافتن عدد فرد و زوج با استفاده از سه عبارت
نحو C-سبک حلقه for سه نحو عبارت است. عبارت اول نشاندهنده مقداردهی اولیه، عبارت دوم نشاندهنده شرایط خاتمه، و عبارت سوم نشاندهنده افزایش یا کاهش است. ایجاد یک bash فایل به نام loop4.sh با اسکریپت زیر اعداد فرد و زوج 1 تا 5 را پیدا کنید.
# حلقه را در قالب C-style تعریف کنید
برای (( n=1; n<=5; n++ ))
انجام دادن
# بررسی کنید که عدد زوج باشد یا خیر
اگر (( $n%2==0 ))
سپس
اکو “$n یکنواخت است”
دیگر
اکو “$n عجیب است”
فی
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-5: خواندن محتوای فایل
برای خواندن محتوای هر فایلی با استفاده از ” می توانید از حلقه for استفاده کنید.گربه‘ فرمان فرض کنید شما یک فایل به نام “weekday.txt‘ که حاوی نام تمام روزهای هفته است. حال، a ایجاد کنید bash فایل به نام loop5.sh برای خواندن و چاپ محتوای فایل.
# شمارنده را مقدار دهی اولیه کنید
من=1
# حلقه را برای خواندن فایل متنی تعریف کنید
برای var که در `گربه weekday.txt`
انجام دادن
# محتوای فایل را چاپ کنید
اکو “روز هفته $i: $var“
((i++))
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-6: حلقه for بی نهایت ایجاد کنید
ایجاد یک bash تحت عنوان حلقه 6.bash با اسکریپت زیر راه اعلام بی نهایت برای حلقه را بدانید. در اینجا، حلقه برای بی نهایت تکرار می شود و مقدار شمارنده را چاپ می کند تا زمانی که کاربر Ctrl+C را فشار دهد.
# مقدار اولیه متغیر شمارنده
پیشخوان=1
# نمایش پیام برای خاتمه
اکو “Ctrl+c را فشار دهید تا از حلقه خاتمه یابد”
# حلقه بی نهایت را تعریف کنید
برای (( ;; ))
انجام دادن
# تعداد تکرار را چاپ کنید
اکو “تکرار برای شمارنده $ بار).”
# 1 ثانیه صبر کنید
خواب 1
# شمارنده را افزایش دهید
((شمارنده ++))
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-7: استفاده از حلقه for با دستور جایگزین
ایجاد یک bash فایل به نام حلقه 7.bash با اسکریپت زیر استفاده از حلقه for برای خواندن و چاپ خروجی فرمان را بدانید.
اکو “همه bash فایل هایی که با “a” شروع می شوند عبارتند از:
# خروجی دستور جایگزین را با استفاده از حلقه for بخوانید
برای val که در $(ls آ*.bash)
انجام دادن
# نام فایل را چاپ کنید
اکو “$val“
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-8: خروج مشروط با وقفه
ایجاد یک bash فایل به نام حلقه 8.bash با اسکریپت زیر راه خروج از حلقه را بدانید روی هر شرایط خاصی
# یک حلقه for تعریف کنید تا 10 بار تکرار شود
برای (( من=1; من<=10; i++ ))
انجام دادن
# شرایط خاتمه حلقه را تعریف کنید
اگر (( $i%3==0 && $i%6==0 ))
سپس
# از حلقه خاتمه دهید
اکو “فسخ شد.”
زنگ تفریح
دیگر
# مقدار فعلی i را چاپ کنید
اکو “مقدار فعلی i است: $i“
فی
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-9: ادامه اولیه با عبارت continue
ایجاد یک bash فایل به نام حلقه 8.bash با اسکریپت زیر برای دانستن روش حذف یک یا چند عبارت از حلقه با استفاده از یک دستور مستمر مبتنی بر روی شرایط خاص
# یک آرایه انجمنی را اعلام کنید
اعلام -آ متقاضیان
# مقادیر آرایه را مقداردهی کنید
متقاضیان=( [1022]=“حاضر” [1034]=“حاضر” [1045]=“غایب” [1067]=“حاضر” )
اکو “فهرست شناسنامه متقاضی حاضر:”
برای ک که در ${!متقاضیان[@]}
انجام دادن
# شناسه متقاضی غایب را فیلتر کنید
اگر [ ${Applicants[$k]} == “غایب” ]; سپس
ادامه هید
دیگر
# شناسنامه متقاضی حاضر را پرینت بگیرید
اکو k $
فی
انجام شده
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
نتیجه:
کاربردهای مختلف حلقه for در این آموزش با استفاده از مثال های مختلف برای کمک به توضیح داده شده است bash کاربران اهداف استفاده از حلقه for را به درستی بدانند و آن را در اسکریپت خود اعمال کنند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 08:55:03