حلقه 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!” را چاپ می کند. پیام با یک ثانیه تاخیر قطعه از در حالی که درست است عبارت شرطی برای فعال کردن کد برای بازگرداندن همیشه وضعیت خروج موفق.

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

از آنجایی که شرط باقی است درست است، واقعی، کد به حلقه زدن ادامه خواهد داد اکو دستور چاپ پیام روش دیگر استفاده از حلقه بی نهایت سه بیانی است:

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 خروجی حلقه

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 حلقه با خروج شرطی شکستخروجی از bash حلقه با خروج شرطی شکست

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 برای حلقه با یک آرایهخروجی از bash برای حلقه با یک آرایه

اگر دستور دیگری اضافه کنید، حلقه کار خواهد کرد روی همان مورد قبل از انتقال به مورد بعدی. به عنوان مثال، ما دیگری را درج می کنیم اکو برای افزودن پسوند به آیتم این خروجی است:

خروجی a bash برای حلقه با یک آرایه و دو عملیاتخروجی a 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"
خروجی a bash حلقه for با یک متغیر تک موردیخروجی a bash حلقه for با یک متغیر تک موردی

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

مهم! در برخی از اسکریپت ها، نحو افزایشی به جای پرانتزهای فرفری از پرانتزهای دوتایی استفاده می کند. صرف نظر از این، هر دو عملکرد یکسانی دارند.

پیشنهاد می‌کنیم بخوانید:  چگونه یک نام دامنه را با استفاده از رکوردها و سرورهای نام سفارشی به VPS اشاره کنیم

حلقه عمل خواهد کرد روی اولین مقدار از 1، با دو افزایش به سمت بالا حرکت کنید 3، و غیره روی. زمانی که به مقدار نهایی رسید 10، کد متوقف می شود. این خروجی است:

را bash برای حلقه با خروجی افزایشیرا bash برای حلقه با خروجی افزایشی

توجه داشته باشید که ویژگی محدوده فقط در دسترس است 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 مستقیماً از مرورگر وب خود حلقه بزنید.

درک Bash For Loop در سال 1403 با مثالدرک Bash For Loop در سال 1403 با مثال
درک Bash For Loop در سال 1403 با مثال 16

علاوه بر این، ما یک دستیار هوش مصنوعی ارائه می دهیم که به ساده سازی مدیریت VPS، به ویژه برای مبتدیان کمک می کند. به عنوان مثال، به شما امکان می دهد به طور خودکار تولید کنید bash برای اسکریپت های حلقه برای کارهای مختلف با استفاده از اعلان های ساده.

Hostinger  موقعیت مکانی دستیار هوش مصنوعی VPS در hPanelHostinger  موقعیت مکانی دستیار هوش مصنوعی VPS در hPanel

برای دسترسی به ابزار، وارد hPanel شوید و کلیک کنید روی VPS در منوی بالا سرور مربوطه را انتخاب کنید و به آن بروید دستیار هوش مصنوعی بتا در نوار کناری برای به دست آوردن نتایج دقیق، مطمئن شوید که درخواست‌های هوش مصنوعی توسعه وب شما خاص و واضح هستند.

دستورالعمل‌های هوش مصنوعی ما را برای راهنمای مدیریت VPS بررسی کنید تا در مورد استفاده بیشتر بدانید هاستینگer دستیار هوش مصنوعی برای کارهای مختلف.

مهم! به دلیل محدودیت های هوش مصنوعی، برخی از پاسخ ها ممکن است نادرست یا منسوخ باشند.

نتیجه

Bash for loop برای خودکار کردن کارهای تکراری عالی است. جدا از مثال های اساسی بالا، می توانید کارهای بیشتری انجام دهید. به عنوان مثال، شما می توانید فایل ها را ردیابی کنید و بسیاری از کارهای دیگر را انجام دهید. لیست می رود روی!

تنها کاری که باید انجام دهید این است که دستورات حلقه را بنویسید. ممکن است یک منحنی یادگیری باشد، اما خواندن این مقدمه شروع خوبی است. تمرین همیشه عالی می کند! موفق باشید!