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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
for i in {5..1}
do
  echo $i
done

参考答案3:

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

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

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

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

#!/bin/bash
cd /tmp
for i in `ls /tmp`
do
   mv $i `echo $i | cut -d . -f1`.xpg
done
或者:
#!/bin/bash
cd /tmp
for i in `ls /tmp`
do
   mv $i `echo $i | sed 's/xpg/txt/g'`
done
更简单的是:
[[email protected] tmp]# pwd
/tmp
[[email protected] tmp]# rename "xpg" "txt" .      
[[email protected] tmp]# ls
19.txt  1.txt  2.txt  3.txt
[[email protected] tmp]# rename "txt" "xpg" *.txt
[[email protected] tmp]# ls
19.xpg  1.xpg  2.xpg  3.xpg
[[email protected] tmp]#

计算从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
while true
do
  curl www.baidu.com
  sleep 2
done

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


以上是关于for和select循环语句的应用实践的主要内容,如果未能解决你的问题,请参考以下文章

shell编程 10 --- while 和until 循环的应用实践

SQL Select 语句的用法

循环控制及状态返回值的应用实践(分析apache日志)

流程控制之for循环select语句

流程控制之for循环 流程控制之select语句

第四周课堂实践总结