Linux下的shell编程之循环(for循环,while循环)和条件判断(if条件判断,case条件判断)

您所在的位置:网站首页 宝马照片图片大全 Linux下的shell编程之循环(for循环,while循环)和条件判断(if条件判断,case条件判断)

Linux下的shell编程之循环(for循环,while循环)和条件判断(if条件判断,case条件判断)

2023-11-15 08:17| 来源: 网络整理| 查看: 265

一.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