از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
حلقه Bash از طریق فهرستی از رشته ها
سرفصلهای مطلب
[*][*]
[*]
فهرستی از رشته ها یا آرایه ها یا دنباله ای از عناصر را می توان با استفاده از آن تکرار کرد برای حلقه در bash. روش تکرار لیست رشته ها در Bash توسط حلقه for در این آموزش با استفاده از موارد مختلف نشان داده شده است. bash نمونه های اسکریپت اگر تازه کار هستید bash برنامه نویسی سپس می توانید آموزش را بخوانید روی BASH برای مثال های حلقه قبل از شروع این آموزش.
مثال-1: تکرار یک رشته از چند کلمه در حلقه for
ایجاد یک bash فایلی با نام ‘for_list1.sh’ و اسکریپت زیر را اضافه کنید. یک مقدار رشته با فاصله در حلقه برای حلقه استفاده می شود. به طور پیش فرض، مقدار رشته با فاصله از هم جدا می شود. حلقه For رشته را به کلمات و تقسیم می کند print هر کلمه با اضافه کردن یک خط جدید.
# یک رشته با فاصله با استفاده از حلقه for بخوانید[*]
برای ارزش که در من برنامه نویسی را دوست دارم[*]
انجام دادن[*]
echo ارزش دلار[*]
انجام شده
خروجی:
مثال-2: تکرار یک متغیر رشته با استفاده از حلقه for
ایجاد یک bash فایلی با نام ‘for_list2.sh’ و اسکریپت زیر را اضافه کنید. یک متن را به متغیر اختصاص دهید، StringVal و مقدار این متغیر را با استفاده از حلقه for بخوانید. این مثال نیز مانند مثال قبلی عمل می کند و مقدار متغیر را به کلمات بر اساس تقسیم می کند روی فضا.
# یک متغیر رشته ای با مقدار تعریف کنید[*]
StringVal=“به linuxhinت خوش آمدید”[*]
[*]
# متغیر رشته را با استفاده از حلقه for تکرار کنید[*]
برای val که در $StringVal; انجام دادن[*]
echo $val[*]
انجام شده
خروجی:
مثال-3: آرایه ای از مقادیر رشته را تکرار کنید
ایجاد یک bash فایلی با نام ‘for_list3.sh’ و اسکریپت زیر را اضافه کنید. آرایه ای از مقادیر رشته با نوع در این اسکریپت اعلام می شود. دو مقدار در آرایه که حاوی فاصله هستند عبارتند ازلینوکس مینت“و”لینوکس رد هت‘. این اسکریپت خروجی را با تقسیم این مقادیر به چند کلمه و چاپ به عنوان مقدار جداگانه تولید می کند. اما این خروجی مناسب نیست. راه حل این نوع مسائل در مثال بعدی نشان داده شده است.
[*]
# آرایه ای از رشته را با نوع اعلام کنید[*]
اعلام -آ StringArray=(“لینوکس مینت” “فدورا” [*]
“لینوکس رد کلاه” “اوبونتو” “دبیان” )[*]
[*]
# آرایه رشته را با استفاده از حلقه for تکرار کنید[*]
برای val که در ${StringArray[@]}; انجام دادن[*]
echo $val[*]
انجام شده
خروجی:
مثال-4: مقدار رشته چند کلمه را به صورت یک مقدار چاپ کنید
ایجاد یک bash فایلی با نام ‘for_list4.sh’ و اسکریپت زیر را اضافه کنید. در این مثال، هر عنصر از متغیر آرایه، StringArray حاوی مقادیر دو کلمه است. به print هر مقدار را بدون تقسیم و حل مشکل مثال قبلی، فقط باید متغیر آرایه را با آن محصور کنید نقل قول دوگانه درون حلقه برای.
[*]
# یک آرایه رشته ای را با نوع اعلام کنید[*]
اعلام -آ StringArray=(“ویندوز ایکس پی” “ویندوز 10” [*]
“ویندوز من” “ویندوز 8.1” “ویندوز سرور 2016” )[*]
[*]
# مقادیر آرایه را با فاصله بخوانید[*]
برای val که در “${StringArray[@]}“; انجام دادن[*]
echo $val[*]
انجام شده
خروجی:
مثال-5: تکرار مقادیر رشته آرایه با استفاده از ‘*’
ایجاد یک bash فایلی با نام ‘for_list5.sh’ با کد زیر. در اینجا، نماد ‘*’ برای خواندن تمام مقادیر رشته آرایه استفاده می شود. حلقه for اول برای نمایش مقادیر آرایه در چندین خط و حلقه دوم for برای نمایش مقادیر آرایه در یک خط استفاده می شود.
[*]
#اعلان یک آرایه رشته ای[*]
LanguageArray=(“PHP” “جاوا” “C#” “C++” “VB.Net” “پایتون” “پرل”)[*]
[*]
# چاپ مقادیر آرایه در خطوط[*]
echo “چاپ هر عنصر در خط جدید”[*]
برای val1 که در ${LanguageArray[*]}; انجام دادن[*]
echo $val1[*]
انجام شده[*]
[*]
echo “”[*]
[*]
# مقادیر آرایه را در یک خط چاپ کنید[*]
echo “چاپ همه عناصر در یک خط”[*]
برای val2 که در “${LanguageArray[*]}“; انجام دادن[*]
echo $val2[*]
انجام شده
خروجی:
مثال-6: تکرار مقادیر رشته جدا شده با کاما
جدید ایجاد کنید bash فایلی با نام ‘for_list6.sh’ با کد زیر. اینجا، کاما (،) برای تقسیم مقادیر رشته استفاده می شود. IFS متغیر برای تنظیم جداکننده فیلد استفاده می شود.
فهرست داده ها=“HTML5، CCS3، BootStrap، JQuery”[*]
Field_Separator=$IFS[*]
[*]
# کاما را به عنوان جداکننده فیلد داخلی برای لیست رشته تنظیم کنید[*]
IFS=،[*]
برای val که در $DataList;[*]
انجام دادن[*]
echo $val[*]
انجام شده[*]
[*]
IFS=$Field_Separator
خروجی:
مثال-7: خواندن چندین آرایه رشته ای با هم
ایجاد یک bash فایلی با نام ‘for_list7.sh’ و اسکریپت زیر را اضافه کنید. در این مثال، دو آرایه رشته ای تعریف شده و در یک آرایه دیگر ترکیب شده اند. حلقه for خارجی برای خواندن آرایه ترکیبی و حلقه for داخلی برای خواندن هر آرایه داخلی استفاده می شود.
str_array1=(“Magento 2.2.4” “ووکامرس”)[*]
str_array2=(“CodeIgnitor” “لاراول”)[*]
ترکیب کردن=(str_array1 str_array2)[*]
برای arrItem که در ${ترکیب کنید[@]}[*]
انجام دادن[*]
ارزیابی برای val در “${“$arrItem‘[@]}”؛انجام دادن echo “$val”;انجام شد[*]
انجام شده
خروجی:
مثال-8: استفاده از الگو برای خواندن لیست رشته ها
جدید ایجاد کنید bash فایل به نام for_list8.sh با کد زیر اینجا، ‘/, /’ الگو برای تقسیم مقادیر رشته بر اساس استفاده می شود روی کاما
[*]
# لیستی از متغیر رشته را تعریف کنید[*]
stringList=وردپرس، جوملا، مجنتو[*]
[*]
# از کاما به عنوان جداکننده استفاده کنید و به عنوان الگو اعمال کنید[*]
برای val که در ${stringList//،/ }[*]
انجام دادن[*]
echo $val[*]
انجام شده
خروجی:
امیدوارم مثال های این آموزش به شما در درک کاربرد آن کمک کند برای حلقه برای تکرار لیست رشته ها، برای یک ویدیو روی این موضوع را در زیر ببینید:
[*]
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
[*]زمان انتشار: 1403-01-01 01:31:04