حلقه ها (Loops)
«حلقه (Loop)» یعنی تکرار منظم یک کار. مثل تمرین ضرب در کلاس. تا رسیدن به شرط پایان، دستورات تکرار می شوند. پس کد کوتاه تر و مرتب تر می شود.
حلقه for در بش
حلقه for روی یک فهرست یا بازه می چرخد. هر بار یک مقدار می گیرد و بلاک را اجرا می کند.
# نمونه for روی بازه
for i in {1..5};
do
echo "Iteration $i"
done
حلقه while
حلقه while تا وقتی شرط درست است اجرا می شود. شرط داخل براکت [ ] قرار می گیرد.
# نمونه while تا پنج
count=1
while [ $count -le 5 ];
do
echo "Count is $count"
((count++))
done
حلقه until
حلقه until برعکس while است. تا وقتی شرط غلط است اجرا می شود.
# نمونه until تا بزرگ تر از پنج
count=1
until [ $count -gt 5 ];
do
echo "Count is $count"
((count++))
done
کنترل حلقه: break و continue
break کل حلقه را متوقف می کند. continue فقط همان دور را رد می کند.
# رد کردن 3 و توقف روی 4
for i in {1..5};
do
if [ $i -eq 3 ]; then
continue
fi
echo "Number $i"
if [ $i -eq 4 ]; then
break
fi
done
حلقه های تودرتو
می توانی یک حلقه را داخل حلقه دیگر بگذاری. برای ساخت الگوهای دوبعدی عالی است.
# حلقه تو در تو
for i in {1..3};
do
for j in {1..2};
do
echo "Outer loop $i, Inner loop $j"
done
done
گام های عملی
- یک بازه یا فهرست آماده کن.
- با for یا while حلقه بساز.
- شرط پایان را دقیق بنویس.
- در صورت نیاز break یا continue بگذار.
نکته: برای شرط ها از اگر…وگرنه کمک بگیر. برای مقایسه اعداد و رشته ها به عملگرها رجوع کن. راهنمای حلقه های بش همیشه دمِ دست باشد.
جمع بندی سریع
- for روی فهرست یا بازه می چرخد.
- while تا درست بودن شرط می چرخد.
- until تا غلط بودن شرط می چرخد.
- break توقف کامل می دهد.
- continue همان دور را رد می کند.