• linux for 循环


    循环结构(for)
    for 变量名 in 列表
    do
    ? 循环体
    done
    列表生成方式:
    (1) 直接给出列表
    (2) 整数列表:
    ? (a) {start..end}
    ? (b) $(seq [start [step]] end)
    (3) 返回列表的命令
    ? $(COMMAND)
    (4) 使用glob,如:*.sh
    (5) 变量引用; $@, $*

    第一类:数字性循环
    -----------------------------
    for1-1.sh

    复制代码
    #!/bin/bash  
      
    for((i=1;i<=10;i++));  
    do   
    echo $(expr $i * 3 + 1);  
    done  
    复制代码

    -----------------------------
    for1-2.sh

    复制代码
    #!/bin/bash  
      
    for i in $(seq 1 10)  
    do   
    echo $(expr $i * 3 + 1);  
    done   
    复制代码

    -----------------------------
    for1-3.sh

    复制代码
    #!/bin/bash  
      
    for i in {1..10}  
    do  
    echo $(expr $i * 3 + 1);  
    done  
    复制代码

    -----------------------------
    for1-4.sh

    #!/bin/bash  
      
    awk 'BEGIN{for(i=1; i<=10; i++) print i}'  

    第二类:字符性循环
    -----------------------------
    for2-1.sh

    复制代码
    #!/bin/bash  
      
    for i in `ls`;  
    do   
    echo $i is file name! ;  
    done   
    复制代码

    -----------------------------
    for2-2.sh

    复制代码
    #!/bin/bash  
      
    for i in $* ;  
    do  
    echo $i is input chart! ;  
    done  
    复制代码

    -----------------------------
    for2-3.sh

    复制代码
    #!/bin/bash  
      
    for i in f1 f2 f3 ;  
    do  
    echo $i is appoint ;  
    done  
    复制代码

    -----------------------------
    for2-4.sh

    复制代码
    #!/bin/bash  
      
    list="rootfs usr data data2"  
    for i in $list;  
    do  
    echo $i is appoint ;  
    done  
    复制代码

    第三类:路径查找
    -----------------------------
    for3-1.sh

    复制代码
    #!/bin/bash  
      
    for file in /proc/*;  
    do  
    echo $file is file path ! ;  
    done  
    复制代码

    -----------------------------
    for3-2.sh

    复制代码
    #!/bin/bash  
      
    for file in $(ls *.sh)  
    do  
    echo $file is file path ! ;  
    done  
    复制代码

    总结:

    现在一般都使用for in结构,for in结构后面可以使用函数来构造范围,比如$()、``这些,里面写一些查找的语法,比如ls test*,那么遍历之后就是输出文件名了。

  • 相关阅读:
    技巧:在Silverlight应用程序中操作Cookie
    python 调用云语音服务,文本模板转语音通知
    java 9. 面向对象之方法设计
    java 7. 多维数组
    深拷贝浅拷贝
    mock demo
    Java 5. 语法结构
    Java 1. 数据类型
    Java 2. 量与常量
    django 3. 路由初探
  • 原文地址:https://www.cnblogs.com/xl-892694298/p/11017002.html
Copyright © 2020-2023  润新知