7.การวนรอบ โดยใช้คำสั่ง for, while และ until
คำสั่ง for
มีลักษณะคล้าย for ในภาษาไพธอน มีรูปแบบเป็น
for VAR in SCOPE; do COMMAND done
คำสั่ง while
มีรูปแบบเป็น
while [CONDITION]; do COMMAND done
ถ้าเงื่อนไข CONDITION เป็นจริง ก็จะทำคำสั่ง COMMAND คำสั่ง until
รูปแบบตรงกันข้ามกับ while โดยมีรูปแบบเป็น
until [CONDITION]; do COMMAND done
คือจะทำคำสั่ง COMMAND จนกว่าเงื่อนไข CONDITION จะเป็นจริง
7.1 ตัวอย่าง for
#!/bin/bash for i in $( ls ); do echo item: $i done
เป็นการนำคำสั่ง ls
ไปเป็นตัวแปรชั่วคราวในการกำหนดขอบเขตให้กับตัวแปร i
ในคำสั่ง for
ในที่นี้จะทำการแสดงผลว่า item: FILENAME ...
7.2 ตัวอย่าง for
อีกแบบ
#!/bin/bash for i in `seq 1 10`; do echo $i done
เป็นการนำผลจากคำสั่ง seq 1 10
ไปกำหนดขอบเขตให้กับตัวแปร i
ในคำสั่ง for
อาจเขียนเลียนแบบตัวอย่าง 7.1 ได้เหมือนกันดังนี้
#!/bin/bash for i in $( seq 1 10 ); do echo $i done
7.3 ตัวอย่าง while
#!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo The counter is $COUNTER let COUNTER=COUNTER+1 done
เป็นการแสดงค่าตัวแปร COUNTER
ที่เพิ่มขึ้นทีละ 1 จาก 0 ถึง 9 โปรดสังเกตุการใช้ตัวแปรเก็บค่าตัวเลข, การเปรียบเทียบตัวเลขโดยใช้ตัวเปรียบเทียบ -lt
(less than) และการกำหนดเพิ่มค่าให้กับตัวแปรแบบตัวเลขโดยใช้คำสั่ง let
7.4 ตัวอย่าง until
#!/bin/bash COUNTER=20 until [ $COUNTER -lt 10 ]; do echo COUNTER $COUNTER let COUNTER-=1 done
จะแสดงตัวเลขตั้งแต่ 20 ลดลงทีละ 1 จนถึง 10
- Printer-friendly version
- Log in or register to post comments
- 5707 reads
Recent comments