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

 

Thai Search

Google Search

Custom Search

Theme

Who's online

There are currently 0 users and 4 guests online.