ลูปถูกใช้ในภาษาการเขียนโปรแกรมใดๆ เพื่อรันโค้ดเดียวกันซ้ำๆ ลูปสามประเภทส่วนใหญ่จะใช้ในการเขียนโปรแกรมสำหรับการทำงานซ้ำๆ เหล่านี้คือ สำหรับ ในขณะที่ และ ทำในขณะ/ทำซ้ำ จนถึง ห่วง คุณสามารถสมัครลูปบนสคริปต์ทุบตีได้หลายวิธี ตัวอย่าง BASH for loops ที่เป็นประโยชน์มีการกล่าวถึงในบทความนี้
ไวยากรณ์ของ for loop:
สำหรับ variable_name ในรายการทำ
คำสั่ง
เสร็จแล้ว
จุดเริ่มต้นและจุดสิ้นสุดของ สำหรับ วงถูกกำหนดโดย ทำ และ เสร็จแล้ว คำหลักในสคริปต์ทุบตี กี่ครั้งแล้ว สำหรับวง จะวนซ้ำขึ้นอยู่กับการประกาศ รายการ ตัวแปร. การวนซ้ำจะนำหนึ่งรายการจาก รายการ และเก็บค่าไว้ในตัวแปรที่สามารถใช้ได้ภายในลูป ตัวอย่างการใช้งาน bash for loop ประเภทต่างๆ อธิบายไว้ด้านล่าง เปิดตัวแก้ไขข้อความเพื่อทดสอบตัวอย่างโค้ดต่อไปนี้
ตัวอย่างที่ 1: การอ่านค่าคงที่
สร้างไฟล์ทุบตีชื่อ loop1.sh ซึ่งมีสคริปต์ต่อไปนี้
สำหรับสี ฟ้า เขียว ชมพู ขาว แดง
ทำ
โยนออก'สี = $ สี'
เสร็จแล้ว
ในตัวอย่างนี้ มีการประกาศค่าคงที่ 5 ค่าในส่วนรายการ การวนซ้ำนี้จะวนซ้ำ 5 ครั้ง และแต่ละครั้งจะได้รับค่าจากรายการและเก็บไว้ในตัวแปรชื่อ สี ซึ่งจะพิมพ์อยู่ภายในวง ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหากคุณเรียกใช้ loop1.sh .
ตัวอย่างที่ 2: ตัวแปรอาร์เรย์การอ่าน
คุณสามารถใช้ for วนซ้ำเพื่อวนซ้ำค่าของอาร์เรย์ สร้างไฟล์ทุบตีใหม่ชื่อ loop2.sh ด้วยรหัสต่อไปนี้
รายการสี=('ฟ้า เขียว ชมพู ขาว แดง')สำหรับสีใน $ColorList
ทำ
ถ้า [$ สี== 'สีชมพู' ]
แล้ว
โยนออก'สีที่ฉันชอบคือ $color'
เป็น
เสร็จแล้ว
ในตัวอย่างนี้ ลูปดึงค่าจากตัวแปรอาร์เรย์ที่ชื่อ รายการสี และจะพิมพ์ผลลัพธ์ก็ต่อเมื่อ สีชมพู พบค่าในองค์ประกอบอาร์เรย์
ตัวอย่าง-3: การอ่านอาร์กิวเมนต์บรรทัดคำสั่ง
ค่าอาร์กิวเมนต์บรรทัดคำสั่งสามารถวนซ้ำได้โดยใช้ for loop in bash สร้างไฟล์ทุบตีใหม่ชื่อ loop3.sh ด้วยรหัสต่อไปนี้
สำหรับmyval ใน $*ทำ
โยนออก'อาร์กิวเมนต์: $myval'
เสร็จแล้ว
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ สามอาร์กิวเมนต์จะได้รับเป็นอาร์กิวเมนต์บรรทัดคำสั่งในตัวอย่างนี้ เหล่านี้คือ ' ผม' , 'ชอบ ' และ ' การเขียนโปรแกรม'
ตัวอย่างที่ 4: การหาเลขคี่และเลขคู่โดยใช้สามนิพจน์
ไวยากรณ์ที่พบบ่อยที่สุดของ for loop คือ ไวยากรณ์นิพจน์สามแบบ นิพจน์แรกระบุการเริ่มต้น นิพจน์ที่สองระบุเงื่อนไขการสิ้นสุด และนิพจน์ที่สามระบุการเพิ่มขึ้นหรือลดลง สร้างไฟล์ใหม่ชื่อ loop4.sh เพื่อตรวจสอบสคริปต์
สำหรับ ((NS=1;NS<=5;NS++ ))ทำ
ถ้า (($n%2==0 ))
แล้ว
โยนออก'$n เป็นคู่'
อื่น
โยนออก'$n เป็นเลขคี่'
เป็น
เสร็จแล้ว
การวนซ้ำจะวนซ้ำ 5 ครั้งจากค่า 1 ถึง 5 และจะตรวจสอบและพิมพ์เลขคู่และคี่ คุณจะได้รับผลลัพธ์ต่อไปนี้หลังจากรันสคริปต์
ตัวอย่างที่-5: การอ่านเนื้อหาไฟล์
คุณสามารถใช้ for loop เพื่ออ่านเนื้อหาของไฟล์ใดก็ได้โดยใช้ 'แมว' สั่งการ. สมมติว่าคุณมีไฟล์ชื่อ ' วันธรรมดา.txt ’ ซึ่งมีชื่อวันทั้งสัปดาห์ ตอนนี้สร้างไฟล์ทุบตีชื่อ loop5.sh เพื่ออ่านเนื้อหาของไฟล์
ผม=1สำหรับvar ในวันธรรมดาของแมวtxt``
ทำ
โยนออก'วันธรรมดา $ i: $ var'
((ผม++))
เสร็จแล้ว
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ด้วยการใช้ for loop ใน bash คุณสามารถสำรวจข้อมูลจากแหล่งต่างๆ และวิธีต่างๆ และมีประสิทธิภาพมากขึ้นบนเทอร์มินัลหรือในสคริปต์ของคุณ ดูวิดีโอที่เกี่ยวข้องด้านล่าง: