zoukankan      html  css  js  c++  java
  • shell for 循环简单用法

    for循环:固定有限次数循环,工作中for使用最多。

    语法1:

    for 变量名 in 变量取值列表

    do

             指令…

    done

    学习方法:记住下面的内容

    for 男人 in 世界

    do

             if [ 有房 ] && [ 有车 ] && [ 有钱 ] && [ 有权 ] && [ … ];then

                       echo “我喜欢”

             else

                       rm –f 男人

    done

    下面列举几个for循环语句例子:

    直接列出变量列表所有元素,打印1、2、3、4、5

    [root@bqh-118 scripts]# vim for.sh
    #!/bin/sh
    for n in 1 2 3 4 5 
    do
       echo $n
    done

    语法2:

    for ((初始值;循环控制条件;变量变化))

    do

    指令

    done

    在语法二中需要注意以下几点:

    ①初始值:在循环开始时,需要给某个变量赋予初始值,如 i=1。

    ②循环控制条件:用于指定变量循环的次数,如 i<=100,则只要 i 的值小于等于 100,循环就会继续。

    ③变量变化:每次循环之后,变量该如何变化,如 i=i+1,代表每次循环之后,变量的值都加 1。

    语法二和其他语言中的 for 循环类似,也就是事先决定循环次数的固定循环。先举一个简单的例子。

    从1加到100总和:

    [root@bqh-118 scripts]# vim for.sh
    #!/bin/sh
    #no.1 echo "-----------------------------" for n in `seq 100` do ((sum+=n)) done echo "1...100总和为:" $sum echo "==============================" #no.2 for ((i=1;i
    <=100;i++)) do ((sum1+=i)) done echo "1...100总和为:" $sum echo "==============================" #no.3 echo "1...100总和为:" $((100*(100+1)/2)) echo "-------------------------------"

    下面我们来一个实战例子:

    扫描192.168.43.110---120 /24网络里,当前在线用户的ip有哪些:

    [root@bqh-118 scripts]# vim scan.sh
    
    #!/bin/sh
    # ******************************************************
    # Author       : aゞ锦衣卫 
    # Last modified: 2019-05-14 23:37
    # Email        : 1147076062@qq.com
    # blog         : https://www.cnblogs.com/su-root
    # Filename     : scan.sh
    # Description  : Scanning online IP
    # ******************************************************
    read -p "请输入您要扫描的IP网段:" IP
    echo "正在扫描..."
    sleep 1
    for i in {110..120}
    do
            if ping -c 1 -W 1 $IP.$i &>/dev/null;then   #-c ping 2次;-W 超时2s
            echo -e "33[32m $IP.$i33[0m is up"
    else
            echo -e "33[31m $IP.$i33[0m is down"
    fi
    done
    echo "扫描完毕!"

    ok!

  • 相关阅读:
    Electron+Vue开发跨平台桌面应用
    html2canvas生成图片
    将某个DIV内容保存成图片,使用HTML2CANVAS截图方法(高清图并解决图片跨域问题)
    css3实现动画效果完整代码demo
    Vue + element从零打造一个H5页面可视化编辑器——pl-drag-template
    Vue.Draggable学习总结
    3d学习网
    vue router 报错: Uncaught (in promise) NavigationDuplicated {_name:""NavigationDuplicated"... 的解决方法
    网页适配 iPhoneX,就是这么简单
    关于for循环
  • 原文地址:https://www.cnblogs.com/su-root/p/10865140.html
Copyright © 2011-2022 走看看