Linux下的shell编程之循环(for循环,while循环)和条件判断(if条件判断,case条件判断) |
您所在的位置:网站首页 › 宝马照片图片大全 › Linux下的shell编程之循环(for循环,while循环)和条件判断(if条件判断,case条件判断) |
一.shell中的for循环
1.for循环的语法格式 shell中的 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致。 常用的for循环结构有三种: 粗略的结构: for 条件 do 循环主体 done 语法一: for 变量 in 值1 值2 值3... do 循环主体 done 或者 for 变量 in {起始值..终止值} #这里面的起始值和终止值必须是纯数字,不能是$a,即不能是变量的值 do 循环主体/命令 done 示例1: 示例2: 语法二: for 变量 in `命令` do 循环主体 done 示例3: 语法三: for ((初始值;循环控制;变量变化)) do 循环主体 done 示例4: 2.for的嵌套循环 3.for循环的练习题 练习1:编写脚本测试172.25.254网段中的主机网是否是通的。 如果是通的,就显示172.25.254.主机号 is up;如果是不通的,就显示172.25.254.主机号 is down。 脚本内容 脚本运行结果 练习2:编写脚本实现倒计时10秒。 显示 Time 秒数 脚本内容 脚本运行结果 练习3:编写脚本实现从输入的分钟数和秒数开始改进行时间的倒计时。 显示 Time 分钟:秒 方法一:将分钟数化为秒数 脚本内容 #!/bin/bash read -p "请输入分钟数和秒数:" a b let time=$a*60+$b#for i in {$time..1} #这行代码的写法是错误的。{起始值 终止值},这里的起始值和终止值都必须是纯数字,不能写成某个变量的值 for ((i=$time;i>0;i--)) do echo -n "TIME `expr $i / 60`:`expr $i % 60` " echo -n -e "\r" sleep 1 done 脚本运行结果 方法二:利用for双循环实现 脚本内容
脚本运行结果
编写脚本实现打印9*9乘法表。 显示1*1=1 2*1=2 2*2=4 ................................. 写法一: 脚本内容 脚本运行结果 写法二: 脚本内容 脚本运行结果 二.shell中的while循环1.while循环的语法格式 for循环适用于事先知道循环的次数,对于实现不知道循环的次数,for循环将会束手无策。而while循环可以解决实现不知道循 环次数这类问题。对于事先知道循环次数的问题,for循环和while循环是相通的,for循环能解决的问题,while循环也可以解决。 常用的while循环的结构有三种: 粗略的结构: while 条件 do 循环主体 done 语法一: 初始值 while [ 条件判断语句 ] do 循环主体 变量变化 #这里变量变化的方式有两种,一种是((a++)),另外一种是a=`expr $a + 1` done 示例1: 语法二: 初始值 while ((条件判断语句)) do 循环主体 变量变化 #这里变量变化的方式有两种,一种是((a++)),另外一种是a=`expr $a + 1` done 示例2: 语法三:死循环(不同于for循环的地方,能解决实现不知道循环次数的问题的原因所在) while true do 循环主体 done 示例3: 2.while循环的练习题 编写一个脚本,使用while循环语句新建用户xin{1..20},并且设置这些用户的密码都为"123456" 脚本内容 脚本执行结果 三.shell中的if条件判断(else语句是可以没有的)1.if条件判断的语法格式 常用的if条件判断有三种结构: 单分支if语句 if 条件判断;then #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句 语句体 fi 示例1: 双分支if语句 if 条件判断;then #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句 语句体1 else 语句体2 fi 示例2: 多分支if语句 if 条件判断;then #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句 语句体1 elif 条件判断;then #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句 语句体2 elif 条件判断;then #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句 语句体3 ... #表示可以有多个 else 语句体... fi 示例3: 四.shell中的case条件判断(*)语句是可以没有的)1.case条件判断的语法格式 case条件判断适用于需要进行多重分支的应用情况。case条件判断只针对于条件判断是某个(单个匹配模式)或某些(合并 匹配模式)具体的情况而不是一个无限的区间(比如0 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |