zoukankan      html  css  js  c++  java
  • Linux中Shell循环结构for用法笔记

    640?wx_fmt=png

    Shell中可以使用for做固定次数循环的处理。常见的for循环用法主要有以下几种:

    1、带列表的for循环

    语法结构:

    for item in (list)

    do

    command

    done

    示例:

    cat demo1.sh 

    内容如下:

    #!/bin/bash

    names="小明 小王 小张"

    for item in names

    do

    echo "${item}"

    done

    执行命令:bash demo1.sh

    输出结果:

    小明

    小王

    小张

    示例2 计算1到100的和

    脚本1:

    #!/bin/bash

    sum=0

    for item in {1..100}

    do

    let "sum+=item"

    done

    echo "总数为:${sum}"

    脚本2:

    #!/bin/bash

    sum=0

    for item in 'seq 1 100'

    #for item in $(seq 1 100)

    do

    let "sum+=item"

    done

    echo "总数为:${sum}"

    输出结果:5050

    示例3循环打印当前目录的文件信息

    #!/bin/bash

    for item in $(ls)

    do

    ls -l $item

    done

    2、不带列表的for循环

    for list

    do

    command

    done

    示例:

    cat demo3.sh

    #!/bin/bash

    for item in $list

    do

    echo -n $item

    done

    执行:bash demo3.sh 10 20 30 40

    输出结果:

    10

    20

    30

    40

    3、类C语言的for循环

    语法结构:

    for ((exp1;exp2;exp3;))

    do

    command

    done

    用法示例:

    #!/bin/bash

    for ((num=1;num<=10;num++))

    do

    echo -n "$num "

    done

    计算1到100的和以及1到100的奇数和

    脚本内容:

    cat demo4.sh

    #!/bin/bash

    sum1=0

    sum2=0

    for((i=1,j=1;i<=100;i++,j+=2))

    do

    let "sum1+=i"

    if [ $j -lt 100 ];then

    let "sum2+=j" 

    fi

    done

    echo "sum1=$sum1"

    echo "sum2=$sum2"

    执行:bash demo4.sh

    输出:

    sum1=5050

    sum2=2500

    注意:有时候使用for循环脚本不注意很有可能出现死循环,它会无限执行下去,会消耗大量的系统资源,所以

    关于循环的脚本要多加测试,避免出现死循环的情况,如果执行的时候出现死循环可以用ctrl+c停止脚本运行。


  • 相关阅读:
    解决Windows 10每次重启默认浏览器都被重置为IE的一个办法
    使用cookie登录百度网盘账号
    【C++ Primer | 14】重载运算
    Visual Studio Code 快捷键的使用
    【C++ Primer | 8】IO库
    Git push常见用法
    Git 基础
    Git连接GitHub仓库详解
    ceph关于rpm包构建的教程
    monitor综合
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12351197.html
Copyright © 2011-2022 走看看