Shell入门教程:流程控制(6)while 循环
while循环的语法:
while 条件测试
do
命令区域
done
举例:
#!/bin/bash declare -i i=1 declare -i sum=0 while ((i<=10)) do let sum+=i let ++i done echo $sum
使用while, 读取文件内容
while循环,经典的用法是搭配转向输入,读取文件的内容,做法如下:
#!/bin/bash while read line do echo $line done < cvsfile
- 行3,使用read由标准输入读取数据,放入变量line中,如果读到的数据非空,就进入循环。
- 行6,将cvsfile的内容转向输入,交给read读取。
再举一例:
#!/bin/bash IFS=':' while read f1 f2 f3 f4 f5 f6 f7 do echo "账号:$f1,login Shell 是: $f7" done < "/etc/passwd"
行3,读取/etc/passwd各行账号数据,并将各字段放入变量f1~f7。
while无穷循环
whlie ((1)) do echo '夜不眠' done
把 ((1)) 改成 [ 1 ] 也可以。
或者:
whlie true do echo '夜不眠' done
或者:
whlie : do echo '夜不眠' done
键入Ctrl + C,可终止循环。