내 가 사 용 했 던 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
문제 사고
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 명령 시리즈 총 디 렉 터 리
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux Shell 프로 그래 밍 - 텍스트 처리 grep, sed사용자 가 지정 한 '모드' 에 따라 대상 텍스트 를 일치 하 게 검사 하고 일치 하 는 줄 을 인쇄 합 니 다. ##포함 되 지 않 음, 역방향 일치 \ ##키워드 앞 뒤 가 맞지 않 고 키워드 만 일치 합 니 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.