ไวยากรณ์ของ while loop:
ในขณะที่ [สภาพ]ทำ
คำสั่ง
เสร็จแล้ว
จุดเริ่มต้นและจุดสิ้นสุดของ ในขณะที่ วงถูกกำหนดโดย ทำ และ เสร็จแล้ว คำหลักในสคริปต์ทุบตี เงื่อนไขการสิ้นสุดถูกกำหนดไว้ที่จุดเริ่มต้นของลูป เปิดตัวแก้ไขข้อความเพื่อเขียนสคริปต์ทุบตีและทดสอบตัวอย่างต่อไปนี้ในขณะที่วนซ้ำ
ตัวอย่างที่ 1: วนซ้ำสำหรับจำนวนครั้งที่คงที่
สร้างไฟล์ทุบตีชื่อ ในขณะที่1.sh ซึ่งมีสคริปต์ต่อไปนี้
NS=1
ในขณะที่ [ $n -NS 5 ]
ทำ
โยนออก 'วิ่ง$nเวลา'
((n++))
เสร็จแล้ว
ในตัวอย่างนี้ ลูปจะวนซ้ำ 5 ครั้งและพิมพ์ข้อความที่กำหนดไว้ภายในลูป ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหากคุณเรียกใช้ ในขณะที่1.sh .
ตัวอย่างที่ 2: การใช้คำสั่งแบ่งสำหรับการออกตามเงื่อนไข
หยุดพัก คำสั่งใช้เพื่อออกจากลูปก่อนตามเงื่อนไขเฉพาะ สร้างไฟล์ทุบตีใหม่ชื่อ ในขณะที่2.sh ด้วยรหัสต่อไปนี้
NS=1ในขณะที่ [ $n -NS 10 ]
ทำ
ถ้า [ $n==6 ]
แล้ว
โยนออก 'สิ้นสุด'
หยุดพัก
เป็น
โยนออก 'ตำแหน่ง:$n'
((n++))
เสร็จแล้ว
ในตัวอย่างนี้ ประกาศวนซ้ำ 10 ครั้ง ตามสคริปต์จะสิ้นสุดลงหลังจากทำซ้ำ 6 ครั้งสำหรับคำสั่ง break ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ตัวอย่างที่ 3: การใช้คำสั่ง Continue เพื่อข้ามขั้นตอนเฉพาะ
สร้างไฟล์ทุบตีใหม่ชื่อ ในขณะที่3.sh ด้วยรหัสต่อไปนี้
NS=0ในขณะที่ [ $n -NS 5 ]
ทำ
((n++))
ถ้า [ $n==3 ]
แล้ว
ดำเนินต่อ
เป็น
โยนออก 'ตำแหน่ง:$n'
เสร็จแล้ว
ในตัวอย่างนี้ การวนซ้ำจะวนซ้ำ 5 ครั้ง แต่จะไม่พิมพ์ทั้ง 5 ตำแหน่ง เมื่อลูปจะวนซ้ำ 3rdครั้งแล้วคำสั่งดำเนินการต่อไปจะถูกดำเนินการและวนซ้ำจะไปซ้ำต่อไปโดยไม่ต้องพิมพ์ข้อความของ3rdตำแหน่ง. ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ตัวอย่างที่ 4: การสร้างลูปอนันต์
บางครั้ง จำเป็นต้องประกาศ infinite loop เพื่อวัตถุประสงค์ในการเขียนโปรแกรมต่างๆ สร้างไฟล์ทุบตีใหม่ชื่อ ในขณะที่4.sh และทดสอบโค้ดของอนันต์ลูป
NS=1ในขณะที่:
ทำ
printf 'มูลค่าปัจจุบันของ n=$nNS'
ถ้า [ $n==3 ]
แล้ว
โยนออก 'ดี'
เอลฟ์ [ $n==5 ]
แล้ว
โยนออก 'แย่'
เอลฟ์ [ $n==7 ]
แล้ว
โยนออก 'น่าเกลียด'
เอลฟ์ [ $n==10 ]
แล้ว
ทางออก 0
เป็น
((n++))
เสร็จแล้ว
ไม่มีการตั้งค่าเงื่อนไขการสิ้นสุดสำหรับลูปในตัวอย่างนี้ การวนซ้ำประเภทนี้เรียกว่าการวนซ้ำแบบไม่มีที่สิ้นสุด ในที่นี้ คำสั่ง exit ใช้เพื่อออกจากลูปอนันต์ ดังนั้น ลูปนี้จะวนซ้ำ 10 ครั้ง และเมื่อค่าการวนซ้ำเท่ากับ 10 คำสั่ง exit จะดำเนินการเพื่อออกจากลูปอนันต์