while [ 조건 ]; do
명령
done
같은명령을 반복시키는 while
조건이 충족하면 명령을 실행하는 것을 반복한다
빠져나갈 방법을 마련해두지 않으면 계속 반복하기 때문에 유의해야한다.
명령에서 조건에 해당하는 변수에 변화를 주어 빠져나오게 만든다.
- 사용 예시
#!/bin/bash
# while.sh
number=0
while [ $number -le 2 ]; do
echo ${number}
((number++))
done
$ ./while.sh
0
1
2
while문이 한번 돌때마다 number 가 0부터 1씩 증가하여 조건인 2보다 작거나 같을때까지만 동작한다
날짜를 이용한 루프
#!/bin/bash
# dateWhile.sh
startDate=$(date +"%Y%m%d" -d "20210201")
endDate=$(date +"%Y%m%d" -d "20210301")
while [ "$startDate" != "$endDate" ]; do
echo $startDate
startDate=$(date +"%Y%m%d" -d "$startDate + 1 day")
done
$ ./dateWhile.sh
20210201
20210202
...
...
20210227
20210228
startDate에 2021년 2월 1일을 넣고 포맷은 yyyymmdd 으로 준다
endDate에는 포맷은 같고 2021년 3월 1일을 넣는다
while을 통해 startDate를 출력하고 1이일을 더하는것을 반복하면
startDate가 3월1일이 되면 조건에 충족하지 못하므로 (false) 루프를 빠져나온다.
'리눅스 (Linux)' 카테고리의 다른 글
C++ 로 구구단 만들어 G++로 변환하고 출력하기 (0) | 2021.12.22 |
---|---|
Shell Script에 대한 정리 잘된 블로그 (0) | 2021.12.22 |
쉘 스크립트로 오늘 날짜 정보가 입력된 파일 생성하기 (0) | 2021.12.21 |
IF 와 CASE (0) | 2021.12.21 |
비교 연산자 (0) | 2021.12.21 |
댓글