while
문은 뒤에 나오는 조건문이 참
이면 do~done
사이의 명령어를 실행하는 반복문입니다.
$ cat test1
#!/bin/bash
var1=10
while (( $var1 > 0 )) <----- 또는 [ $var1 -gt 0 ]
do
echo "var1: $var1"
(( var1 = $var1 - 1 )) <----- 또는 var1 = $[$var1 - 1]
done
$ ./test1
var1: 10
var1: 9
var1: 8
var1: 7
var1: 6
var1: 5
var1: 4
var1: 3
var1: 2
var1: 1
while
문에 여러 명령을 사용할 수도 있습니다.
while command1
command2
do
commands
done
가장 마지막 명령이 반복이 종료하기 위해 검사하는 조건문입니다.
$ cat test1
#!/bin/bash
var1=10
while echo $var1
(( $var1 > 0 ))
do
echo "var1: $var1"
(( var1 = $var1 - 1 ))
done
$ ./test1
10
var1: 10
9
var1: 9
8
var1: 8
7
var1: 7
6
var1: 6
5
var1: 5
4
var1: 4
3
var1: 3
2
var1: 2
1
var1: 1
0
출력을 보면 마지막에 var1
이 0
일 때,
echo $var1
이 한 번 실행된 후,
(( $var1 > 0 ))
을 검사해서 종료된 것을 볼 수 있습니다.