BASH ในขณะที่ตัวอย่างลูป

Bash While Loop Examples



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

ไวยากรณ์ของ 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 จะดำเนินการเพื่อออกจากลูปอนันต์