linux设置程序循环,linux shell编程学习笔记(7)流程控制之循环结构

2.1、for循环

1)遍历/列表式循环

——根据变量的不同取值,重复执行命令序列

格式:

for  变量名  in 值列表

do

命令序列

done

示例:输出在线的主机IP

#!/bin/bash

for i in `seq 254`

do

(ping -i 0.1 -c 1 192.168.10.$i &> /dev/null

if [ $? -eq 0 ];then

echo "192.168.10.$i is on line!"

fi) &

done

() 小括号的作用是吧当前的程序放到子shell执行

& 把程序放入后台执行

2)c语言风格的for循环

——通过变量控制,条件成立时循环

——步长可控次数

格式:

for ((初值;条件;步长控制))

do

命令序列

done

实例:输出10以内的奇数

for ((i=1;i<10;i+=2))

do

echo $i

done

2.2、while循环结构

——条件式循环

——反复测试条件,只要条件成立就执行命令序列

格式:

while 条件测试

do

命令序列

done

2.3、until循环结构

——当条件不成立时循环执行命令序列。与while相反

格式:

until 条件测试

do

命令系列

done

实例参考我写的脚本:

3、case分支结构

——case分支属于匹配执行的方式,它针对指定的变量预先设置一个可能的取值,判断该变量的实际取值是否与预设的某一个值相匹配,如果匹配上了,就执行相应的一组操作,如果没有任何值能够匹配,就执行预先设置的默认操作。

格式:

case “变量值” in

“值1”)

命令序列1;;

“值2”)

命令序列2;;

“值3”)

命令序列3;;

“值4”)

命令序列4;;

“值5”)

命令序列5;;

…………………………………….

*)

默认命令序列;;

esca

实例参考我写的系统服务脚本:

3、其他控制语句

(1)break

——跳出当前所在的循环结构,执行循环体后的语句

(2)continue

——跳出循环语句余下的语句,重新判断条件一边执行下一个循环

(3)exit

——退出脚本,默认的返回值是0

(4)return

——执行脚本或函数时指定返回值,不会结束脚本。通常用来给函数设置返回值。否则出现错误信息,但不会影响脚本执行,如下:

(5)shift

——位移函数,把脚本的位置变量的值顺序想左移动一位,并把没有值的位置变量删除

你可能感兴趣的:(linux设置程序循环)