微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

for和select循环语句的应用实践

for循环语法结构

第一种for循环语句为变量取值型,语法结构为下:


for 变量名 in 变量取值列表

do

指令

done

第二种for循环语句称为c语言型for循环语句,其语法结构如下:

for((exp1;exp2;exp3))

do

指令

done


第二种用法更规范,更整洁

一个是变量初始化(i=0),第二个为变量的范围(i<100);第三个为变量自增或者自减;


特别说明:

1)如果希望程序持续运行,则多用while,包括守护进程。

2)如果是有限次循环,则多用for,实际工作中使用for的机会比较多


范例11-2,竖向打印5,4,3,2,1

#!/bin/bash
for((i=5;i>0;i--))
do
echo$i
done

参考答案2:

#!/bin/bash
foriin{5..1}
do
echo$i
done

参考答案3:

#!/bin/bash
foriin`seq5-11`#seq中的5是起始数字,-1是步长,1是结束数字
do
echo$i
done

范例11-3:获取当前目录下的目录或者文件名,并将其作为变量列表打印输出

#!/bin/bash
foriin`ls/root`#获取根下的root的所有文件
do
echo$i
done

范例11-4:用for循环批量修改文件扩展名(把txt改成xpg)

#!/bin/bash
cd/tmp
foriin`ls/tmp`
do
mv$i`echo$i|cut-d.-f1`.xpg
done
或者:
#!/bin/bash
cd/tmp
foriin`ls/tmp`
do
mv$i`echo$i|sed's/xpg/txt/g'`
done
更简单的是:
[root@localhosttmp]#pwd
/tmp
[root@localhosttmp]#rename"xpg""txt".
[root@localhosttmp]#ls
19.txt1.txt2.txt3.txt
[root@localhosttmp]#rename"txt""xpg"*.txt
[root@localhosttmp]#ls
19.xpg1.xpg2.xpg3.xpg
[root@localhosttmp]#

计算从1加到100;

#!/bin/bash
sum=0
for((i=1;i<101;i++))
do
sum=$(($sum+$i))
done
echo$sum

范例:11-10 每隔两秒访问一次http://www.baidu.com,一共访问5次

#!/bin/bash
whiletrue
do
curlwww.baidu.com
sleep2
done

范例11-11:实现MysqL分库备份的脚本

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐