Разница между while и until

bash

Цикл while выполняет тело цикла пока условие истинно.

Цикл until выполняет тело цикла пока условие ложно. Другими словами цикл until выполняется до тех пор пока условие не станет истинным.

Пример с WHILE

$ nano while.sh
#!/bin/sh

count=1
while [ "$*" != "" ]

do
echo "Argument number $count): $1"
shift
count=`expr $count + 1`
done

$ chmod +x while.sh 
$ ./while.sh one 2 Three 4
Argument number 1): one
Argument number 2): 2
Argument number 3): Three
Argument number 4): 4

Пример с UNTIL

$ nano until.sh
#!/bin/sh

count=1
until [ "$*" = "" ]
do
echo "Argument number $count): $1"
shift
count=`expr $count + 1`
done

$ chmod +x until.sh 
$ ./until.sh one 2 Three 4
Argument number 1): one
Argument number 2): 2
Argument number 3): Three
Argument number 4): 4