• shell编程之十一:for循环语句应用实践


    十一、for循环语句应用实践

    (一)、for循环语法

    1)普通语法
    for 变量名 in 变量取值列表
    do
       指令。。。
    done
    2)c语言型for循环语法
    for(( exp1;exp2;exp3))
    do
       指令。。。
    done
    

    (二)范例1

    用for循环竖向打印1、2、3、4、5共5个数字。

    [root@centos6-kvm3 scripts]# cat 11-01.sh
    #!/bin/bash
    for n in {1..5}
    do
     echo $n
    done
    [root@centos6-kvm3 scripts]# sh 11-01.sh
    1
    2
    3
    4
    5
    [root@centos6-kvm3 scripts]# 
    

    (三)范例2:

    通过开发脚本实现仅设置sshd rsyslog crond network sysstat****服务开机自启动。

    [root@centos6-kvm3 scripts]# cat 11-02.sh 
    #!/bin/bash
    for name in sshd rsyslog crond network sysstat
    do
     chkconfig $name on
    done
    [root@centos6-kvm3 scripts]# chkconfig --list | grep 3:on
    crond          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    rsyslog        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    sshd           	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    sysstat        	0:off	1:on	2:on	3:on	4:on	5:on	6:off
    扩展:
    [root@centos6-kvm3 scripts]# chkconfig --list | grep 3:on |awk '{print "chkconfig", $1, "off"}' | bash
    

    (四)范例3:

    计算从1加到100之和。

    [root@centos6-kvm3 scripts]# cat 11-03.sh
    #!/bin/bash
    for n in {1..100}
    do
      ((sum=sum+$n))
    done
    echo $sum
    [root@centos6-kvm3 scripts]# sh 11-03.sh
    5050
    [root@centos6-kvm3 scripts]# 
    方法2:
    for ((i=1;i<=100;i++))
    do
      ((sum=sum+$i))
    done
    echo $sum
    
    

    (五)案例4:

    在Linux下批量修改文件名,将文件名中的“_finished”去掉。

    准备测试数据,如下。

    方法1:
    ls *.jpg | awk -F "_finished" '{print "mv",$0, $1$2}'|bash
    方法2:
    [root@centos6-kvm3 scripts]# cat 11-04.sh
    #!/bin/bash
    for file in `ls 11/*.jpg`
    do
      mv $file `echo ${file/_finished/}`
    done
    [root@centos6-kvm3 scripts]# 
    方法3:
    rename "_finished" "" *.jpg
    
    
  • 相关阅读:
    Java 8 forEach简单例子
    Intellij IDEA 使用
    java中的sleep()和wait()的区别
    MySQL问答整理
    java 正则例子
    如何在两个线程之间共享数据
    蜻蜓FM涉嫌诈骗投资人和广告主源代码剖析
    玩DNF开启NVIDIA独显的方法
    WSAEventSelect模型编程 详解
    签名时加密失败 --“对程序集签名时出错
  • 原文地址:https://www.cnblogs.com/cuiyongchao007/p/12804944.html
Copyright © 2020-2023  润新知