相同點
一:語法類似,循環條件都在語句后面
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