จะทำให้คำสั่งทำงานซ้ำหลายครั้งได้อย่างไร?
ตัวแปร Shell ยังถูกใช้ใน ลูป (loops) ซึ่งทำให้คำสั่งทำงานซ้ำหลายครั้ง หากรันคำสั่งนี้:
for filetype in gif jpg png; do echo $filetype; done
จะได้ผลลัพธ์:
gif
jpg
png
สังเกตสิ่งต่อไปนี้เกี่ยวกับลูป:
- โครงสร้างคือ
for…ตัวแปร…in…รายการ…; do…คำสั่งหลัก…; done - รายการของสิ่งที่ลูปจะประมวลผล (ในกรณีนี้คือคำว่า
gif,jpg, และpng) - ตัวแปรที่ติดตามว่าลูปกำลังประมวลผลสิ่งใดอยู่ (ในกรณีนี้คือ
filetype) - คำสั่งหลักของลูปที่ทำการประมวลผล (ในกรณีนี้คือ
echo $filetype)
สังเกตว่าคำสั่งหลักใช้ $filetype เพื่อดึงค่าของตัวแปร ไม่ใช่แค่ filetype
เช่นเดียวกับการใช้ตัวแปร Shell ทั่วไป
และให้สังเกตตำแหน่งของเครื่องหมายเซมิโคลอน:
อันแรกอยู่ระหว่างรายการและคีย์เวิร์ด do
ส่วนอันที่สองอยู่ระหว่างคำสั่งหลักและคีย์เวิร์ด done
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Shell
คำแนะนำการฝึกหัด
แก้ไขลูปให้แสดงผลลัพธ์ดังนี้:
docx
odt
pdf
ให้ใช้ filetype เป็นชื่อตัวแปรของลูป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด