while 순환 특수 용법
while ; do
done
while 특수 용법 1:
while 순환 에 서 는 break, contine 순환 제어 문 구 를 자주 사용 합 니 다.다음은 contine 과 break 의 용법 을 소개 합 니 다.
contine: 다음 순환 에 미리 들 어 갑 니 다. 일정한 조건 을 만족 시 켜 서 촉발 되 었 을 것 입 니 다. contine 이 촉발 되면 다음 코드 세그먼트 가 더 이상 실행 되 지 않 습 니 다.
다음 의 예 로 설명 하 겠 습 니 다.
실례: 100 이내 의 홀수 의 합 을 계산한다.
스 크 립 트 내용 은 다음 과 같 습 니 다.
#!/bin/bash
#
let SUM=0
let I=0
while [ $I -lt 100 ]; do
let I++
if [ $[$I%2] -eq 0 ]; then
continue
fi
let SUM+=$I
done
echo $SUM
[root@dnsserver ~]# ./sum.sh
2500
contine 위의 조건 을 살 펴 보 겠 습 니 다.
if [ $[$I%2] -eq 0 ];
continue
$I 가 짝수 라면 다음 코드 가 실행 되 지 않 고 다음 순환 으로 넘 어 가 는 것 을 의미 합 니 다.
break: 순환 을 앞 당 겨 종료
실례: 계산 1 + 2 + 3 +.. + 1000, 5000 이상 일 때 순환 을 종료 하고 덧셈 연산 을 하지 않 습 니 다.
#!/bin/bash
#
declare -i SUM=0
for I in {1..1000}; do
let SUM+=$I
if [ $SUM -gt 5000 ]; then
break
fi
done
echo $I
echo $SUM
[root@dnsserver ~]# ./sum1000.sh
100
5050
while 특수 용법 2:
while read LINE; do
done while 는 파일 (done 뒤에 제 정 된 파일) 의 줄 마다 내용 을 읽 고 LINE 변수 에 저장 할 수 있 습 니 다.
인 스 턴 스:/etc/passwd 파일 의 사용자 가 bash 인지 여 부 를 판정 합 니 다. bash 라면 사용자 이름 을 표시 합 니 다.
#!/bin/bash
FILE=/etc/passwd
while read LINE; do
[ `echo $LINE | awk -F : '{print $7}'` == '/bin/bash' ] && echo $LINE | awk -F : '{print $1}'
done < $FILE
스 크 립 트 실행 결과:
[root@dnsserver ~]# ./bash.sh
root
zenge
test
본 고 는 "zengestudy"블 로그 에서 나 왔 으 니, 전 재 를 사절 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C의 루프컴퓨터에는 일련의 명령을 반복적으로 수행할 수 있는 능력이 있습니다. 이것은 기본 조건이 만족될 때까지 프로그램의 특정 부분을 특정 횟수 또는 무한 반복하는 것을 포함합니다. 루프의 메서드 WHILE 루프: C 프로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.