shell脚本练习之流程控制语句(循环判断语句:for循环:三种循环方法 跳出循环)

循环判断语句

一、for循环

1.for循环的三种用法

【1】列表for循环:用于将一组命令执行已知的次数

注意:此方法为三种方法中最重要也是最容易理解的方法,必须掌握

for循环格式:
for  in
do
done


 - for var in {1..10};do echo $var;done
 1.2.3.4.5.6.7.8.9.10          
 - for var in {0..10..2};do echo $var;done 
 0.2.4.6.8.10
 - for var in {10..1..2};do echo $var;done
 10.8.6.4.2
 - for var in 1 2 3 4 5;do echo $var;done 
 - for var in `seq 10`;do echo $var;done 
for var in `seq 10 -2 1`;do echo $var;done 
for var in $(seq 10);do echo $var;done

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

练习:Shell脚本计算1-100奇数和(使用for循环方法一)

【2】不带列表的for循环执行时由用户指定参数和参数的个数

for var 
do
	echo $var   此处var为shell后的参数
done 
echo "脚本后面有$#个参数"

练习

方法一:
#!/bin/bash
ips=$*
echo $ips
for ip in $ips       第一次循环,ip=172.25.254.20并打印出the computer ip is 172.25.254.20 ,第二次循环,ip=172.25.254.30,并打印
do      
        echo "the computer ip is $ip"
done 

方法二:
ips=$*
echo $*
for var
do
        echo "the computer ip is $var "
done

方法一:

在这里插入图片描述
在这里插入图片描述
方法二:
在这里插入图片描述

在这里插入图片描述

【3】类C风格的for循环

for (( i=1;i<=5;i++)) 
do
	echo $i 
done

在这里插入图片描述
在这里插入图片描述

练习:Shell脚本计算1-100奇数和(使用for循环方法三)

2.跳出循环

【1】循环体: do…done之间的内容
【2】continue:继续;表示循环体内下面的代码不执行,重新开始下一次循环
【3】==break:打断;马上停止执行本次循环,执行循环体后面的代码 ==
【4】exit:表示直接跳出程序
注意:continue与break的区别面试中经常提问

举例如下:

  • 在1-5中,打印除了3以外的数字
#!/bin/bash

for i in {1..5}
do
        if [ $i -eq 3 ];then
                continue
        else
                echo $i
        fi
done

在这里插入图片描述
在这里插入图片描述

  • 将上述continue脚本改写为break脚本,效果如下:
#!/bin/bash

for i in {1..5}
do
        if [ $i -eq 3 ];then
                break
        else
                echo $i
        fi
        echo "looping"
done

在这里插入图片描述
在这里插入图片描述

  • break只跳出当前循环,不会跳出下一个循环:
#!/bin/bash

for i in {1..5}
do
        if [ $i -eq 3 ];then
                break
        else
                echo $i
        fi
        echo "looping"
done



echo "shell"
for i in {1..3}
do
        echo $i
done

在这里插入图片描述
在这里插入图片描述

  • 将上述break脚本改写为exit脚本
#!/bin/bash

for i in {1..5}
do
        if [ $i -eq 3 ];then
                exit
        else
                echo $i
        fi
        echo "looping"
done



echo "shell"
for i in {1..3}
do
        echo $i
done

在这里插入图片描述
在这里插入图片描述

练习:批量添加用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值