از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
درک Bash For Loop در سال 1403 با مثال
سرفصلهای مطلب
حلقه for یکی از عبارات اصلی در زبان های برنامه نویسی مختلف است و به مدیریت پلتفرم VPS شما کمک زیادی می کند. در اینجا روش استفاده از آن در bash زبان برنامه نویسی – از این رو نام، “bash برای حلقه.”
حلقه for یک عبارت تکرار است، به این معنی که می توانید کد را به طور مکرر اجرا کنید. فرض کنید می خواهید یک دستورالعمل را 5 بار اجرا کنید. به جای نوشتن پنج کد جداگانه، می توانید یک دستور حلقه for را یک بار بنویسید.
دستور Bash For Loop
اساسا، ساده ترین نحو حلقه for، وقوع مجموعه ای از یک متغیر را تکرار می کند. را bash دنباله معمولاً به این صورت است:
for VARIABLE in 1 2 3 4 5 .. N Perform the below command: command1 command2 commandN done
در دنیای واقعی، این نحو شبیه مثال زیر است:
#!/bin/bash for i in 1 2 3 4 5 do echo "Hello $i" done
اجرای bash فایل باعث ایجاد توالی زیر می شود:
Hello 1 Hello 2 Hello 3 Hello 4 Hello 5
بیایید هر عنصر را بررسی کنیم:
- #!/صندوقچه/bash – نشان می دهد که کد a است bash اسکریپت
- من – یک مکان نگهدار برای یک متغیر است. در همین حال، $i مقدار فردی متغیر است. شما همچنین می توانید آن را به عنوان بنویسید c/$c یا با هر نام دیگری
- که در – متغیر و موارد زیر را از هم جدا می کند.
- 1 2 3 4 5 – نمونه ای از مواردی است که می خواهید دستورالعمل را اجرا کنید روی.
- انجام دادن – کلمه کلیدی است که حلقه ها را شروع می کند. سپس دستور را اجرا می کند n بار، با n تعداد کل اقلام است. در اینجا، ارزش n است 5.
- echo “سلام: $i” – کدی است که n بار آن را تکرار خواهیم کرد. به یاد داشته باشید، علامت نقل قول هر چیزی را در داخل آن به یک متغیر تبدیل می کند.
- انجام شده – حلقه را متوقف می کند.
دو دستور حلقه رایج دیگر عبارتند از:
for VARIABLE in file1 file2 file3 do command1 روی $VARIABLE command2 commandN done
و این:
for OUTPUT in $(Linux-Or-Unix-Command-Here) do command1 روی $OUTPUT command2 روی $OUTPUT commandN done
مثال های Bash For Loop
می توانید سینتکس را برای انجام چندین عملیات به روز کنید. قبل از ادامه، باید وارد VPS خود شوید. اگر مشکل دارید، آموزش Putty SSH ما را بخوانید تا در مورد روش انجام این کار بیشتر بدانید. در ضمن اگر مشکل دارید با bash، ما را بررسی کنید bash آموزش اسکریپت نویسی به یاد بیاور bash توابع باید در الف باشند .sh فایل. برای ایجاد یکی، دستور زیر را در خط فرمان اجرا کنید:
vim filename.sh
این یک فایل .sh ایجاد می کند و آن را در ویرایشگر VIM باز می کند. شما می توانید در موارد اولیه ذکر شده قبلی بیشتر بیاموزید bash مقاله تابع
Bash for Loop برای ایجاد یک حلقه سه بیانی
حلقه سه بیانی از ساختاری شبیه به زبان برنامه نویسی C استفاده می کند. از سه عبارت نوشتاری تشکیل شده است – یک مقدار اولیه (EXP1) یک شرط (EXP2و یک مرحله شمارش (EXP3).
مقداردهی اولیه متغیر اسکریپت اولیه را تنظیم می کند و شرط تعیین می کند که آیا حلقه ادامه دارد یا خیر. در همین حال، مرحله شمارش مقدار اولیه را تغییر می دهد تا زمانی که شرایط مشخص شده را برآورده کند. سینتکس این حلقه به صورت زیر است:
for (( EXP1; EXP2; EXP3 )) do command1 command2 command3 done
برای درک بهتر، مثال کد زیر را در نظر بگیرید:
#!/bin/bash for (( c=1; c<=5; c++ )) do echo "The number $c" done
کد مقدار اولیه حلقه را به صورت تنظیم می کند 1. حلقه تا زمانی اجرا میشود که شرط موجود باشد EXP2 درست است – متغیر کد نباید بزرگتر از آن باشد 5. عبارت شمارش دارای است ++ علامتی که هر بار که حلقه اجرا می شود مقدار اولیه را یک عدد افزایش می دهد.
را bash اسکریپت یک پیام را بازتاب خواهد کرد$ c” که به مقدار حلقه اشاره دارد که از آن شروع می شود 1 تا زمانی که به شرایط مشخص شده برسد. خروجی به صورت زیر خواهد بود:
Bash for Loop برای ایجاد یک حلقه بی نهایت
Bash به شما امکان می دهد یک حلقه بی نهایت ایجاد کنید که اجرای کد را تا زمانی که آن را خاتمه دهید ادامه می دهد process به صورت دستی با فشار دادن Ctrl + C. راه های مختلفی برای انجام این کار وجود دارد، مانند استفاده از در حالی که اصطلاح:
while true do echo "Hello, world!" sleep 1 done
وقتی شرط است درست است، واقعی، دستور “Hello, World!” را چاپ می کند. پیام با یک ثانیه تاخیر قطعه از در حالی که درست است عبارت شرطی برای فعال کردن کد برای بازگرداندن همیشه وضعیت خروج موفق.
از آنجایی که شرط باقی است درست است، واقعی، کد به حلقه زدن ادامه خواهد داد اکو دستور چاپ پیام روش دیگر استفاده از حلقه بی نهایت سه بیانی است:
for (( ; ; )) do echo "Hello, world!" sleep 1 done
در قطعه، تمام عبارات را خالی قرار می دهیم. از آنجایی که هیچ شرط پایانی برای برآورده شدن وجود ندارد، حلقه تا زمانی که کاربر آن را متوقف کند ادامه خواهد داشت.
برای ایجاد حلقه Skip و Continue، برای Loop Bash کنید
Bash به شما امکان می دهد حلقه ای ایجاد کنید که از یک مقدار خاص عبور می کند و پس از آن به اجرا ادامه می دهد. نحو کد به صورت زیر است:
for i in 1 2 3 4 5 do if [condition] then #Continue with the next iteration of i and skip the statement continue fi statement done
در اینجا یک مثال از کد حلقه پرش و ادامه وجود دارد:
for i in {1..5} do if [[ "$i" == '4' ]] then continue fi echo "Hello $i" done
در اسنیپت، آیتمهایی را که باید اصلاح شوند، از یک تا پنج تعریف میکنیم. یک را اضافه می کنیم اگر شرط، بیان می کند که زمانی که مقدار متغیر برابر است 4، حلقه کد را اجرا نمی کند و به مقدار بعدی ادامه می دهد. به این معنی است که حلقه عمل خواهد کرد روی 1، 2، 3، و 5همانطور که خروجی نشان می دهد:
Bash for Loop برای ایجاد خروجی مشروط با Break Loop
علاوه بر ساختار سه بیانی، استفاده کنید برای در برای متوقف کردن خودکار حلقه زمانی که عملیات اسکریپت با یک شرایط خاص مطابقت دارد. در اینجا نحو کد آمده است:
for i in 1 2 3 4 5 do if [condition] then break fi statement done
می توانید دستور دیگری را در انتهای کد اضافه کنید که پس از پایان حلقه اجرا می شود. به مثال زیر توجه کنید:
for state in Alabama Alaska Arizona Arkansas California do if [[ "$state" == 'Arkansas' ]]; then break fi echo "state: $state" done echo 'That’s all!'
اسکریپت حلقه همه نامهای حالت مشخص شده در لیست را چاپ میکند اما پس از برآورده شدن شرط شکست متوقف میشود، یعنی زمانی که مقدار فعلی برابر است. آرکانزاس. سپس به دستور بعدی می رود تا “همین!” پیام در اینجا خروجی به نظر می رسد:
Bash برای حلقه با عناصر آرایه
به جای فهرست کردن آیتم های حلقه for-in، از یک آرایه استفاده کنید تا کد خود را منظم تر و به راحتی خوانا کنید. این تکرار را از طریق داده ها ساده می کند – the process استفاده از حلقه برای هر مورد به صورت جداگانه.
آرایه را با آیتم آن در ابتدا اعلام کنید و آن را به عبارت for-in خود اضافه کنید. در اینجا نحو است:
#Declare an array of items array=("item1" "item2" "item3" "item4") #Iterate through the array and apply the operations for item in "${array[@]}" do command1 command2 command3 done
در اینجا یک نمونه از a bash کد حلقه با عناصر آرایه:
fruit_array=("apple" "banana" "red cherry" "green grape") for fruit in "${fruit_array[@]}" do echo "Fruit: $fruit" done
را bash حلقه از طریق آیتم های آرایه تکرار می شود و از آن استفاده می کند اکو دستور چاپ آنها را با میوه: پیشوند خروجی به این صورت است:
اگر دستور دیگری اضافه کنید، حلقه کار خواهد کرد روی همان مورد قبل از انتقال به مورد بعدی. به عنوان مثال، ما دیگری را درج می کنیم اکو برای افزودن پسوند به آیتم این خروجی است:
Bash for Loop با متغیر پوسته
علاوه بر آرایه، می توانید از متغیر پوسته برای ذخیره یک آیتم برای آن استفاده کنید bash حلقه ها در اینجا نحو کد آمده است:
#Define the shell variable variable="a single item" #Iterate through the variable and apply the operations for item in $variable do command1 command2 command3 done
متغیر پوسته فقط شامل یک عنصر داده است، اما bash حلقه به طور خودکار از طریق آیتم های جدا شده از فضا تکرار می شود و آنها را به عنوان موجودیت های مختلف در نظر می گیرد. این مثال را در نظر بگیرید:
var_numbers="1 2 3 4 5" for number in $var_numbers do echo "Number: $number" done
به جای چاپ اعداد به صورت رشته ای، bash حلقه آنها را به صورت جداگانه چاپ می کند. برای اینکه اقلام را به عنوان یک موجودیت واحد در نظر بگیرید، ضمیمه کنید $var_numbers متغیر در برای در عبارت با علامت نقل قول مانند زیر:
for number in "$var_numbers"
Bash for Loop با یک عدد
هنگام کار با اعداد در bash حلقه، شما می توانید به جای تعیین تک تک آیتم ها از یک span استفاده کنید. برای انجام این کار، محدوده را در پرانتزهای مجعد که با دو نقطه از هم جدا شده اند اضافه کنید:
for i in {1..5} do echo "$i" done
در مثال، حلقه همه اعداد از یک تا پنج را بازتاب می دهد. علاوه بر این، می توانید افزایش را با استفاده از {START..END..INCREMENT} نحو سه بیانی در اینجا نمونه کد است:
for i in {1..10..2} do echo "Number: $i" done
مهم! در برخی از اسکریپت ها، نحو افزایشی به جای پرانتزهای فرفری از پرانتزهای دوتایی استفاده می کند. صرف نظر از این، هر دو عملکرد یکسانی دارند.
حلقه عمل خواهد کرد روی اولین مقدار از 1، با دو افزایش به سمت بالا حرکت کنید 3، و غیره روی. زمانی که به مقدار نهایی رسید 10، کد متوقف می شود. این خروجی است:
توجه داشته باشید که ویژگی محدوده فقط در دسترس است Bash نسخه 3.0 یا بعد از آن، در حالی که افزایش در پشتیبانی می شود Bash 4.0 و جدیدتر
Bash for Loop With Strings
در یک bash حلقه، استفاده متداول یک متغیر پوسته ذخیره رشته های متعدد است. برای اجرای وظایف به صورت انبوه، مانند تغییر نام فایل ها یا نصب یک بسته مفید است. در اینجا نحو است:
variable="string1 string2 string3" for item in $variable do command1 command2 command3 done
یا اگر رشته شما دارای فضای خالی است، از آرایه ها استفاده کنید. علاوه بر اجازه دادن به bash حلقه برای خواندن موارد جدا شده از فضا، تکرار و گسترش آنها آسان تر است. در اینجا نحو است:
array=("First item" "Second item" "Third item" "Fourth item") for item in "${array[@]}" do command1 command2 command3 done
استفاده موثر از Bash Script در هاستینگer VPS
در حین استفاده bash برای حلقه به خودکارسازی وظایف مدیریت VPS کمک می کند، همچنین مهم است که از ویژگی های ارائه دهنده میزبانی وب خود برای بهبود بیشتر کارایی مدیریت سرور استفاده کنید.
مثلا، هاستینگer برنامه های VPS دارند مرورگر terminal در کنترل پنل سفارشی میزبانی ما، hPanel تعبیه شده است. این به شما امکان می دهد دستورات و برنامه های کاربردی لینوکس را اجرا کنید bash مستقیماً از مرورگر وب خود حلقه بزنید.
علاوه بر این، ما یک دستیار هوش مصنوعی ارائه می دهیم که به ساده سازی مدیریت VPS، به ویژه برای مبتدیان کمک می کند. به عنوان مثال، به شما امکان می دهد به طور خودکار تولید کنید bash برای اسکریپت های حلقه برای کارهای مختلف با استفاده از اعلان های ساده.
برای دسترسی به ابزار، وارد hPanel شوید و کلیک کنید روی VPS در منوی بالا سرور مربوطه را انتخاب کنید و به آن بروید دستیار هوش مصنوعی بتا در نوار کناری برای به دست آوردن نتایج دقیق، مطمئن شوید که درخواستهای هوش مصنوعی توسعه وب شما خاص و واضح هستند.
دستورالعملهای هوش مصنوعی ما را برای راهنمای مدیریت VPS بررسی کنید تا در مورد استفاده بیشتر بدانید هاستینگer دستیار هوش مصنوعی برای کارهای مختلف.
مهم! به دلیل محدودیت های هوش مصنوعی، برخی از پاسخ ها ممکن است نادرست یا منسوخ باشند.
نتیجه
Bash for loop برای خودکار کردن کارهای تکراری عالی است. جدا از مثال های اساسی بالا، می توانید کارهای بیشتری انجام دهید. به عنوان مثال، شما می توانید فایل ها را ردیابی کنید و بسیاری از کارهای دیگر را انجام دهید. لیست می رود روی!
تنها کاری که باید انجام دهید این است که دستورات حلقه را بنویسید. ممکن است یک منحنی یادگیری باشد، اما خواندن این مقدمه شروع خوبی است. تمرین همیشه عالی می کند! موفق باشید!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 14:55:03