• shell中的循环


     shell中的循环

    for循环

    类似于C语言的步长控制

    例如:

    for ((i=1;i<=10;i++)); do echo $(expr $i * 4 ); done 

    将1到10,依次乘以4,然后打印出来。

    这里顺便提一下,shell里面表达式的计算,可以有其他形式:

    for ((i=1;i<=10;i++)); do echo $((i * 4)); done   
    for ((i=1;i<=10;i++)); do echo $[i * 4 ]; done          

    类似于python的迭代序列

    比如遍历一个数组:

    a=(1 3 5 7 9 11)
    
    for v in ${a[*]}; do
        echo $v
    done

    上面这段代码可以用seq命令简化:

     for i in $(seq 1 2 11) ;do echo $i ;done 

    打印出所有小写字母:

    for i in {a..z} ;do echo $i ;done  

    遍历脚本参数:

    for i in $* ; do
        echo $i
    done

    遍历当前目录下所有以.txt结尾的文件:

    for f in $(ls *.txt); do
        echo $f
    done

    可以简化为:

    for f in *.txt; do
        echo $f
    done

    另外,for...in循环会对字符串按空格分隔进行遍历:

    str="hello world how do you do!"
    
    for i in $str; do
        echo $i ;
    done

     


    while循环

    例如, 按行遍历一个文件:

    while read line; do
     #process line
    done < file
  • 相关阅读:
    Response 文件下载
    Tomcat Servlet
    Junit 反射 注解
    Stream流 方法引用
    函数式接口
    网络编程
    缓冲流、转换流、序列化流、打印流
    字节流 字符流
    File类 递归
    线程池 Lambda表达式
  • 原文地址:https://www.cnblogs.com/chenny7/p/3687622.html
Copyright © 2020-2023  润新知