내 가 사 용 했 던 Linux 명령 의 while - Bash 의 While 순환

내 가 사 용 했 던 Linux 명령 의 while - Bash 의 While 순환
본문 링크: http://codingstandards.iteye.com/blog/780524   (전재 출처 를 밝 혀 주세요)
 
용도 설명
while 순환 은 Shell 에서 자주 사용 하 는 문법 구조 입 니 다. 다른 프로 그래 밍 언어 중의 while 와 비슷 합 니 다. 다만 쓰기 가 좀 다 를 뿐 입 니 다.
상용 형식
서식 1
while 조건;
do
    문장
done
형식 2 사 순환
while true
do
    문장
done
형식 3 사 순환
while :
do
    문장
done
형식 4 사 순환
while [ 1 ]
do
    문장
done
형식 5 사 순환
while [ 0 ]
do
    문장
done
사용 예시
예시 1
COUNTER=0
while [  $COUNTER -lt 10 ]; do
    echo The counter is $COUNTER
    let COUNTER=COUNTER+1 
done

 
[root@jfht ~]# COUNTER=0 [root@jfht ~]# while [  $COUNTER -lt 10 ]; do >     echo The counter is $COUNTER >     let COUNTER=COUNTER+1 > done The counter is 0 The counter is 1 The counter is 2 The counter is 3 The counter is 4 The counter is 5 The counter is 6 The counter is 7 The counter is 8 The counter is 9 [root@jfht ~]#
 
이 while 순환 을 for 순환 으로 바 꾸 는 게 좋 을 것 같 아 요.
for ((COUNTER=0; COUNTER<10; ++COUNTER))
do
    echo The counter is $COUNTER
done


 
[root@jfht ~]# for ((COUNTER=0; COUNTER<10; ++COUNTER)) > do >     echo The counter is $COUNTER > done The counter is 0 The counter is 1 The counter is 2 The counter is 3 The counter is 4 The counter is 5 The counter is 6 The counter is 7 The counter is 8 The counter is 9 [root@jfht ~]#
예시 2
while true
do
    date
    sleep 1
done

 
[root@jfht ~]# while true > do >     date >     sleep 1 > done 2010 년 10 월 10 일 일요일 16: 35: 22 CST 2010 년 10 월 10 일 일요일 16: 35: 23 CST 2010 년 10 월 10 일 일요일 16: 35: 24 CST 2010 년 10 월 10 일 일요일 16: 35: 25 CST 2010 년 10 월 10 일 일요일 16: 35: 26 CST 2010 년 10 월 10 일 일요일 16: 35: 27 CSTCtrl + C [root@jfht ~]#
 
예제 3 읽 기 입력
while read line
do
    echo $line
done

 
[root@jfht ~]# while read line > do >     echo $line > done hello helloworld worldCtrl+D [root@jfht ~]#
 
인 스 턴 스 4 처리 명령 행 매개 변수
파일 while4.sh
#!/bin/sh

usage()
{
    echo "usage: $0 [-a] [-e <admin>] [-f <serverfile>] [-h] [-d <domain>] [-s <whois_server>] [-q] [-x <warndays>]"
}

while getopts ae:f:hd:s:qx: option
do
        case "${option}" in
                a) ALARM="TRUE";;
                e) ADMIN=${OPTARG};;
                d) DOMAIN=${OPTARG};;
                f) SERVERFILE=$OPTARG;;
                s) WHOIS_SERVER=$OPTARG;;
                q) QUIET="TRUE";;
                x) WARNDAYS=$OPTARG;;
                \?) usage; exit 1;;
        esac
done

echo "ALARM=$ALARM"
echo "ADMIN=$ADMIN"
 
[root@jfht ~]# cat while_4.sh #!/bin/sh usage() {     echo "usage: $0 [-a] [-e ] [-f ] [-h] [-d ] [-s ] [-q] [-x ]" } while getopts ae:f:hd:s:qx: option do         case "${option}" in                 a) ALARM="TRUE";;                 e) ADMIN=${OPTARG};;                 d) DOMAIN=${OPTARG};;                 f) SERVERFILE=$OPTARG;;                 s) WHOIS_SERVER=$OPTARG;;                 q) QUIET="TRUE";;                 x) WARNDAYS=$OPTARG;;                 \?) usage; exit 1;;         esac done echo "ALARM=$ALARM" echo "ADMIN=$ADMIN" [root@jfht ~]# chmod +x while_4.sh [root@jfht ~]# ./while_4.sh ALARM= ADMIN= [root@jfht ~]# ./while_4.sh -a ALARM=TRUE ADMIN= [root@jfht ~]# ./while_4.sh -e hy ALARM= ADMIN=hy [root@jfht ~]#
문제 사고
1. 왜 while [0] 도 사순환 일 까?
2. while read line 을 사용 하여 파일 에서 데 이 터 를 읽 습 니까?
관련 자료
【1】BASH Programming - Introduction HOW-TO 7.3 While sample
【2】Audbel 문법 단일 줄 BASH 의 무한 while 순환
[3] while 예제 가 많은 영어 페이지 Bash While Loop Example
 
돌아 가기 내 가 사 용 했 던 Linux 명령 시리즈 총 디 렉 터 리
 

좋은 웹페이지 즐겨찾기