shell编程(二)

8.0  for

       for有两种应用方法    

      ####注意,此方法与case   有相同之处,但case 后的变量是引用,而无for后是赋值,所以case 后用$var   而for  用var

     8.1   

             8.11   for    num    in  1   2   3   4 ;do         

                  echo   $num

             done    

              8.12如果in   后用*,则为列用当前shell文件所在目录中的所有文件   

             for  file  in * ;do

                     echo $file

            done

            8.13 如果没有参数,则默认使用命令行参数,注意,这里没in

             for   file     ;do

               echo $file

              done

     8.2    这种和c语言的for没有多大区别   但这里值得注意,(())里面对变量的引用,并不用$

               for((num=0 ; num < 10 ;num++));do

                       echo  ((sum+=num))  ##这里输出出错

                      ((sum+=num))

                       echo  sum             ##这样子没问题

9.0   while

        i =0

        while(i<10);do

          $i++     ##这里这样子做是不充许的,

            ((i+))##这里应该这样做 

               echo $i

done 

10.0   until    刚好与 while 相反

           i=0

         until((i>10));do

        ((i++))

             echo $i

done

输出  0---1.。。11

11  shife    移去命行位,,后而跟参数  shift  2   默认为shift  1 $#  命令行参数的个数,从 $1 开始计算      

        while(($#>=1));do

echo $0

    shife

done

12   跳出循环  exit    break;  continue    后面可以跟参数,   默认为break  1   contiue  1   

1)break [n]     中止循环过程的执行,并且跳到下一个命令。

      N表示跳出嵌套的层数

2)continue [n]  停止循环过程的当前一个反复并且跳到循  

      环中的下一个反复过程的开始部分,n表示忽略的层  当只 一层循环时,n为多个都一样。  至少保持有一层。

3)   exit [n]     停止shell程序的执行,并且将返回值设置为n

 

       

    

猜你喜欢

转载自blog.csdn.net/h490516509/article/details/84890814