В чем реальная разница между while и until?
Я хотел бы знать, возможно ли сделать возрастающий цикл с помощью «до» и убывающий цикл с в то время как.
Потому что я видел, что если я делаю то
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER+=1
done
и это
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done
, они работают хорошо.
Но если я сделаю наоборот, например:
COUNTER=20
while [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done
сценарий не закончится.
Означает ли это, что мы не можем выполнить обратный цикл с помощью while в bash?
while
запускает цикл , в то время как условие выполняется. until
запускает цикл , пока условие не станет истинным (то есть , в то время как условие будет ложным).
См. http://www.gnu.org/software/bash/manual/bashref.html#Looping-Constructs .