Shell Script Programming (Loop) 1 Unix Operating System Computer Science Department (FLAS-KU) - Prasertsak U. อ้างอิงจาก freeos
Loops in Shell Scripts Bash supports: for loop while loop Note that in each and every loop, ตั้งค่าเริ่มต้นให้กับตัวแปรที่ใช้ กำหนดเงื่อนไขการ ทำงานของ loop ทดสอบเงื่อนไข ในทุกๆ รอบของ loop ก่อนการ ทำงาน ภายใน loop จะต้องทำการปรับปรุงค่าตัวแปรที่ใช้ กำหนดเงื่อนไข การทำงานของ loop Computer Science Department (FLAS-KU) - Prasertsak U. 2
for Loop Computer Science Department (FLAS-KU) - Prasertsak U. 3 Syntax: for { variable name } in { list } Do execute one for each item in the list until the list is not finished (And repeat all statement between do and done) done
Sample (for Loop) Computer Science Department (FLAS-KU) - Prasertsak U. 4 for i in do echo "Welcome $i times" done Run it above script as follows: $ chmod +x testfor $./testfor
for Loop Computer Science Department (FLAS-KU) - Prasertsak U. 5 Syntax: for (( expr1; expr2; expr3 )) do..... repeat all statements between do and done จนกระทั่ง expr2 เป็นเท็จ done
Sample (for Loop) Computer Science Department (FLAS-KU) - Prasertsak U. 6 for (( i = 0 ; i <= 5; i++ )) do echo "Welcome $i times" done Run it above script as follows: $ chmod +x testfor2 $./testfor2
Nesting of for Loop Computer Science Department (FLAS-KU) - Prasertsak U. 7 $ vi nestedfor.sh for (( i = 1; i <= 5; i++ )) ### Outer for loop do for (( j = 1 ; j <= 5; j++ )) ### Inner for do echo -n "$i " done echo "" #### print the new line ### done
Running Nesting of for loop Computer Science Department (FLAS-KU) - Prasertsak U. 8 $ chmod +x nestedfor.sh $./nestefor.sh
while Loop Computer Science Department (FLAS-KU) - Prasertsak U. 9 Syntax: while [ condition ] do command1 command2 command done
Sample (while Loop) Computer Science Department (FLAS-KU) - Prasertsak U. 10 i=0 while [ $i -le 10 ] do echo "Welcome $i times" i=`expr $i + 1` done Run it above script as follows: $ chmod +x testwhile $./testwhile