• shell基础语法:循环for in 和while


    参考:

    https://blog.csdn.net/wzj_110/article/details/86669426(for in 用法总结)

    循环for in,基于列表 

    语法:

    for 变量名  in  列表
    do
        command
        command
        ...
    done

    数字类循环

    1,seq在in后面的应用

    #!/bin/bash  
    #也是产生等差数列-->默认是1
    for i in $(seq 1 10)  #产生的是一个字符串,默认IFS是以空格隔开!
    do   
       
    done 

    2,{}在in后面的应用

    total=0 #全局变量
    for i in {1..100} #".."表示连续,默认也是IFS为空格隔开
      do
        ((total+=i))
      done
    echo -e "total is:${total}"

    字符类循环

    1,普通字符串

    #!/bin/bash  
    list="Linux Java C++ Python"  
    for i in $list  
    do  
        echo -e "Language is ${i}"   
    done 

    补充:
    echo -n //不换行输出
    echo -e  //处理特殊字符输出 参考:https://blog.csdn.net/qq_37595946/article/details/77962963

    2,cat在in后面的使用

    逐行读取文件的内容(默认是IFS),所以默认不是逐行打印!

    IFS的说明

    bash shell会将下列字符当作字段分隔符:空格、制表符、换行符
    说明:如果在shell在数据中看到这些字符中的任意一个,它就会假定这表明了列表中一个新数据字段的开始!
    可以指定多个IFS字符

    如果想逐行原样输出

    #!/bin/bash
    # reading content from a file
    file="日志文件.sh"
    #将这个语句加入到脚本中,告诉bash shell在数据值中忽略空格和制表,使其只能识别换行符!
    IFS=$'
    '
    for std in $(cat $file)
    do
         echo "$std"
    done

    3,路径查找

    ls在in后面的命令

    #!/bin/bash  
    for i in `ls`;  #ls可以结合统配符应用!
    do   
        echo $i is file name!;  #注意:的应用!
    done  

    循环while,基于条件

    语法

    while condition
    do
        command
    done
    
    #无线循环
    while :
    do
        command
    done
    
    while true
    do
        command
    done
    
    for (( ; ; ))

    跳出循环

    #跳出后续所有循环
    break 
    
    #只跳出单次循环
    continue 
    
    #添加次数
    break 2
    continue 2
  • 相关阅读:
    URL域名获取
    SQL Server 索引结构及其使用(二)
    SQL Server 索引结构及其使用(一)[转]
    查询数据库中所有表的数据量、有效数据量以及其它定制数据量
    转:Servlet的url匹配以及url-pattern详解
    转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
    MyEclipse +Servlet 乱码
    MyEclipse +Tomcat 异常操作
    Android Include标签
    转ATL对象类型
  • 原文地址:https://www.cnblogs.com/tkzc2013/p/15349349.html
Copyright © 2020-2023  润新知