Unix / Linux - ประเภท Shell Loop

ในบทนี้เราจะพูดถึงเชลล์ลูปใน Unix ลูปเป็นเครื่องมือการเขียนโปรแกรมที่มีประสิทธิภาพที่ช่วยให้คุณดำเนินการชุดคำสั่งซ้ำ ๆ ในบทนี้เราจะตรวจสอบประเภทของลูปต่อไปนี้สำหรับโปรแกรมเมอร์เชลล์ -

  • ห่วง while
  • สำหรับลูป
  • วนจน
  • ลูปเลือก

คุณจะใช้ลูปที่แตกต่างกันตามสถานการณ์ ตัวอย่างเช่นไฟล์whileลูปรันคำสั่งที่กำหนดจนกว่าเงื่อนไขที่กำหนดจะยังคงเป็นจริง ที่until วนซ้ำดำเนินการจนกว่าเงื่อนไขที่กำหนดจะกลายเป็นจริง

เมื่อคุณมีการฝึกเขียนโปรแกรมที่ดีคุณจะได้รับความเชี่ยวชาญและด้วยเหตุนี้ให้เริ่มใช้ลูปที่เหมาะสมตามสถานการณ์ ที่นี่while และ for ลูปมีให้บริการในภาษาโปรแกรมอื่น ๆ ส่วนใหญ่เช่น C, C++ และ PERLฯลฯ

ห่วงทำรัง

ลูปทั้งหมดสนับสนุนแนวคิดการซ้อนกันซึ่งหมายความว่าคุณสามารถใส่ลูปหนึ่งในอีกลูปที่คล้ายกันหรือต่างกันก็ได้ การทำรังนี้สามารถทำได้ไม่ จำกัด จำนวนครั้งตามความต้องการของคุณ

นี่คือตัวอย่างของการทำรัง whileวน. ลูปอื่น ๆ สามารถซ้อนกันได้ตามข้อกำหนดการเขียนโปรแกรมในลักษณะที่คล้ายกัน -

การทำรังในขณะที่ลูป

เป็นไปได้ที่จะใช้ while loop เป็นส่วนหนึ่งของร่างกายของอีกอันในขณะที่วนซ้ำ

ไวยากรณ์

while command1 ; # this is loop1, the outer loop
do
   Statement(s) to be executed if command1 is true

   while command2 ; # this is loop2, the inner loop
   do
      Statement(s) to be executed if command2 is true
   done

   Statement(s) to be executed if command1 is true
done

ตัวอย่าง

นี่คือตัวอย่างง่ายๆของการทำรังแบบวนซ้ำ เพิ่มลูปการนับถอยหลังอีกอันในลูปที่คุณเคยนับถึงเก้า -

#!/bin/sh

a=0
while [ "$a" -lt 10 ]    # this is loop1
do
   b="$a"
   while [ "$b" -ge 0 ]  # this is loop2
   do
      echo -n "$b "
      b=`expr $b - 1`
   done
   echo
   a=`expr $a + 1`
done

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ สิ่งสำคัญคือต้องสังเกตว่าecho -nทำงานที่นี่ ที่นี่-n ตัวเลือกช่วยให้ echo หลีกเลี่ยงการพิมพ์อักขระบรรทัดใหม่

0
1 0
2 1 0
3 2 1 0
4 3 2 1 0
5 4 3 2 1 0
6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
8 7 6 5 4 3 2 1 0
9 8 7 6 5 4 3 2 1 0