相同点
一:语法类似,循环条件都在语句后面
until:
until expression;do
....
done
while:
while expression;do
....
done
二:执行机制相同,都是先判断expression的返回值,符合条件执行;不符合条件就退出
不同点
两个语句查看返回值执行是反的,while查看expression的返回值是0执行,非0退出;unitl查看expression的返回值非0执行,0退出.例如:
#!/bin/bash
sum=1
while [ "$sum" -le 3 ];
do
let "s=$sum**2"
echo "$sum**2=$s"
let "sum+=1"
done
#!/bin/bash
sum=1
until [ "$sum" -ge 3 ]
do
let "s=$sum**2"
echo "$sum**2=$s"
let "sum+=1"
done