单行表示:
while expression do statement...; done
多行表示:
while expression
do
statement...;
done
解释:
当expression
的运行结果为0
,表示真
;
当expression
的运行结果为非0
,表示假
。
示例1:
day=$(date +%w)
while [ $day -gt 3 ]
do
echo "星期$day不用上班"
done
示例2:
while read lineStr
do
echo "$lineStr"
done < config.txt
read命令能正常读取到文件中的内容,就返回0,读取不到或者读取出错就返回非0
示例3:
cat config.txt | while read lineStr
do
echo "$lineStr"
done
示例4:
a=5;
while true
do
echo -n "=";
if [ $a -ge 5 ] ; then
break;
fi
done
在bash
中也可以使用break
和continue
,break
用于立即终止当前循环的执行,而continue
用于不执行循环中后面的语句而立即开始下一个循环的执行。 这两个语句只有放在do
和done
之间才有效。一般需要配合if
条件语句。
在bash
中true
和false
可以直接使用,true
为0,false
为1