BASH สำหรับตัวอย่างลูป

Bash Loop Examples



ลูปถูกใช้ในภาษาการเขียนโปรแกรมใดๆ เพื่อรันโค้ดเดียวกันซ้ำๆ ลูปสามประเภทส่วนใหญ่จะใช้ในการเขียนโปรแกรมสำหรับการทำงานซ้ำๆ เหล่านี้คือ สำหรับ ในขณะที่ และ ทำในขณะ/ทำซ้ำ จนถึง ห่วง คุณสามารถสมัครลูปบนสคริปต์ทุบตีได้หลายวิธี ตัวอย่าง 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 คุณสามารถสำรวจข้อมูลจากแหล่งต่างๆ และวิธีต่างๆ และมีประสิทธิภาพมากขึ้นบนเทอร์มินัลหรือในสคริปต์ของคุณ ดูวิดีโอที่เกี่ยวข้องด้านล่าง: