shell编程之十一:for循环语句应用实践
程序员文章站
2022-07-09 19:39:13
十一、for循环语句应用实践 (一)、for循环语法 (二)范例1 用for循环竖向打印1、2、3、4、5共5个数字。 (三)范例2: 通过开发脚本实现仅设置sshd rsyslog crond network sysstat 服务 开机自启动。 (四)范例3: 计算从1加到100之和。 (五)案例 ......
十一、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
上一篇: 这些令人喷饭的代码注释,最后一个让我笑出了声(今日份的快乐源泉)
下一篇: haproxy介绍与部署