임 베 디 드 셸 의 while 순환 문

1765 단어
while 순환 while 순환 은 특정한 조건 이 발생 할 때 까지 일련의 명령 을 반복 할 수 있 습 니 다. 선 결 조건 은 while 뒤의 조건 반환 값 입 니 다. while 후의 명령 이 성공 하거나 조건 이 진실 하면 do 와 done 간 의 문 구 를 실행 하고 실행 이 완 료 된 후에 while 후의 명령 과 조건 을 다시 판단 합 니 다.while 이후 명령 이 실 패 했 거나 조건 이 가짜, 순환 이 끝 났 을 경우 for 순환 과 의 차 이 는 순환 횟수 가 알 수 없 는 상황 에서 사용 하기에 적합 합 니 다. 기본 문법:
  • while [condition]
  • do
  • command...
  • done
  • condition 은 조건 부 테스트 명령 이 고 command 는 하나 이상 의 명령 의 목록 입 니 다.
  • 1. 실행 조건
  • 2. condition 의 종료 상태 가 0 이 아니면 순환
  • 을 종료 합 니 다.
  • 3. condition 의 종료 상태 가 0 이면 command
  • 를 실행 합 니 다.
  • 4. command 가 끝 났 을 때 첫 걸음 으로 돌아 가기
  • 다음 사례 와 같다.
  • [root@sandy ~]# cat4.sh
  • #!/bin/bash
  • i=0
  • while [ $i -lt 10 ]
  • do echo$i
  • i=`expr$i + 1`
  • done
  • 
    
  • [root@sandy ~]# sh -x4.sh
  • + i=0
  • + '[' 0 -lt 10 ']'
  • + echo 0
  • 0
  • ++ expr 0 + 1
  • + i=1
  • + '[' 1 -lt 10 ']'
  • + echo 1
  • 1
  • ++ expr 1 + 1
  • 
    
    通过以上的案例,那么就非常容易去理解嵌套循环了,而abs-guide对嵌套循环的定义如下:
    
    嵌套循环就是在一个循环中还有一个循环,内部循环在外部循环体中.在外部循环的每次执行过程中都会触发
    
    内部循环,直到内部循环执行结束.外部循环执行了多少次,内部循环就完成多少次.当然,不论是外部循环或
    
    内部循环的break 语句都会打断处理过程.
    
    
    
    下面来看一个比较经典的嵌套循环案例:
    
    [root@sandy ~]# cat 6.sh 
    
    #!/bin/bash
    
    x=0
    
    while [ "$x" -lt 10 ];
    
    do
    
            y="$x"
    
            while [ "$y" -ge 0 ];
    
            do
    
            echo -n  "$y"
    
            y=`expr $y - 1`
    
            done
    
       echo "$x"
    
       x=`expr $x + 1`
    
    done
    
    执行结果如下:
    
    00
    
    101
    
    2102
    
    32103
    
    432104
    
    5432105
    
    65432106
    
    765432107
    
    8765432108
    
    98765432109
    
    这些是比较基本的循环了,但万变不离其宗,个人认为理解脚本的执行过程是比较重要,那么sh -x就是一个
    
    重要的调试命令了!
    

    좋은 웹페이지 즐겨찾기