셸 프로 그래 밍 7 (순환 문 while)

2920 단어 셸 프로 그래 밍
while 구조:
while 순환 문 구 는 전 테스트 순환 문 이 라 고도 부 릅 니 다. 순환 반복 실행 횟수 는 하나의 조건 을 이용 하여 이 문 구 를 계속 반복 할 지 여 부 를 제어 합 니 다.while 문 구 는 for 순환 문 에 비해 문법 이 든 집행 절차 든 모두 간단명료 하고 이해 하기 쉽다.while 순환 형식 은 다음 과 같 습 니 다:
                   while expression
                   do
                         command
                         command
                         …
                   done
while 순환 문 구 를 전 테스트 순환 이 라 고 부 르 는 이 유 는 이 순환 의 조건 이 성립 되 었 는 지 판단 한 다음 에 반복 적 으로 실행 되 는 작업 을 해 야 하기 때 문 입 니 다.즉, while 순환 문 구 를 실행 하 는 과정 은 expression 의 종료 상 태 를 먼저 판단 하고 종료 상태 가 0 이면 순환 체 를 실행 하 며 순환 체 를 실행 한 후 다음 순환 을 진행 하 며 그렇지 않 으 면 순환 을 종료 하여 done 후의 명령 을 실행 하 는 것 이다.
순환 을 피하 기 위해 서 는 순환 체 에 순환 수출 조건 을 포함 해 야 합 니 다. 즉, expression 의 탈퇴 상태 가 0 이 아 닌 경우 가 존재 합 니 다.
1 카운터 형식의 while
이 경우 입력 할 데이터 나 문자열 의 수 를 정확하게 알 고 있 는 경우 카운터 가 제어 하 는 while 순환 구 조 를 사용 하여 처리 할 수 있다 고 가정 합 니 다.이러한 상황 에서 while 순환 의 형식 은 다음 과 같다.
                               counter = 1
                              while expression
                            do
                                     command
                                     …
                                    let commandto operate counter
                                    command
                                     …
                           done
#!/bin/bash
i=0
sum=0
while (( i < 10 ))
do
 echo "i: $i, sum: $sum"
 let "sum+=$i"
 let "i++"
done

Linux Shell 프로 그래 밍 에 서 는 데 이 터 를 읽 는 개 수 를 모 르 는 경우 가 많 지만 특수 한 데이터 값 을 설정 하여 while 순환 을 끝 낼 수 있 습 니 다. 이 특수 데이터 값 은 끝 표시 라 고 합 니 다. 사용자 에 게 특수 문자 나 숫자 를 입력 하 라 고 알려 줍 니 다.사용자 가 이 표 시 를 입력 하면 while 순환 을 끝내 고 done 후의 명령 을 실행 합 니 다.이 상황 에서 while 순환 의 형식 은 다음 과 같다.
                             read variable
                             while [["$variable"!= sentinel ]]
                             do
                                   readvariable
                             done
#!/bin/bash
echo "enter a number:"
read var
while [ $var != "bye" ]
do
 echo "your input is : $var"
 read var
done

출력 매개 변수 와 매개 변수 개 수 를 명령 줄 로 지정 해 야 할 때 가 있 습 니 다. 이 때 는 다른 세 가지 형식의 while 순환 으로 는 불가능 하기 때문에 명령 줄 로 제어 하 는 while 순환 을 사용 해 야 합 니 다.이 형식 에서 while 순환 은 보통 shift 와 결합 하여 사용 합 니 다. 그 중에서 shift 명령 은 위치 변 수 를 한 자리 아래로 이동 시 킵 니 다 (즉 $2 대체 $1, $3 대체 $2). 그리고 $\# 변 수 를 감소 시 킵 니 다. 마지막 매개 변수 도 사용자 에 게 표시 되면 $\# 는 0 과 같 고 $* 도 비어 있 습 니 다. 아래 는 이 상황 에서 while 순환 의 형식 은 다음 과 같 습 니 다.
                                 while [["$*"!= ""]]
                                 do
                                        echo"$1"
                                       shift
                                 done eg
운행 결과
#!/bin/bash
while [ "$*" != "" ]
do
 echo "$1"
 shift
done

좋은 웹페이지 즐겨찾기