حلقه‌های تودرتو

فصل ‎11‎- حلقه‌ها و انشعاب‌ها

‎11.2‎- حلقه‌های تودرتو

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

مثال ‎11-20‎. حلقه تودرتو

#!/bin/bash
# ‎nested-loop.sh‎:  حلقه‌های تودرتوی ‎for‎

outer=1             #         

#
for a in 1 2 3 4 5
do
  echo "Pass $outer in outer loop."
  echo "---------------------"
  inner=1              #     

  #
  #
  for b in 1 2 3 4 5
  do
    echo "Pass $inner in inner loop."
    let "inner+=1"     #         
  done
  #
  #

  let "outer+=1"    #            
  echo              # 
done               
#

exit 0

برای یک توضیح مشروح از حلقه‌های while تودرتو، مثال ‎27-11‎ و برای مشاهده یک حلقه while تودرتو در داخل یک حلقه until نیز مثال ‎27-13‎ را ببینید.