计算机语言forcui,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:off1:off2:on3:on4:on5:on6:off

network 0:off1:off2:on3:on4:on5:on6:off

rsyslog 0:off1:off2:on3:on4:on5:on6:off

sshd 0:off1:off2:on3:on4:on5:on6:off

sysstat 0:off1:on2:on3:on4:on5:on6: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值