循环不简单,简单聊聊常用的三个shell循环,for-while-until

一、for

1.1 概述

读取不同的变量值,来逐个执行同一组命令

表达式

for 变量名 in 取值列表
  do
  命令序列
done

1.2 结构图

在这里插入图片描述

1.3 模板

求1到100所有整数的偶数和与奇数和

命令文本

#!/bin/bash				# 表示该文本使用bash执行

a=0				# 设置变量a
b=0				# 设置变量b

for i in {1..100}			# 设置一个循环i,表示将1到100的数都输出
do

   if [ $((i%2)) -eq 0 ];then				# 使用余数2,使得结果等于0,得出为偶数
   let a+=i
else
   let b+=i

    fi

done

echo "偶数和:$a"
echo "奇数和:$b"

在这里插入图片描述

检测固定范围内的主机是否在线

for a in 192.168.253.{8..12}				# 设置循环i,取值范围给出
do

ping -c 2 -i 0.5 -w 2 $a &>/dev/null		# 命令序列,/dev/null为黑洞文件

 if [ $? = 0 ];then							# 插入内循环,前面的回环码如果为0,表示正常
echo "主机正常"

echo $a >> /opt/lianxi/host_ip				# 正常的IP输出到指定文件

  else
echo "主机离线"

 fi

done

在这里插入图片描述

二、while

2.1 概述

重复测试指定的条件,只要条件成立就反复执行,若退出需添加命令

表达式

while 条件测试操作
  do
  命令序列
done

2.2 结构图

在这里插入图片描述

2.3 模板

计算1-100的和

a=0								# 设置两个变量
b=0

while [ $a -le 100 ]			# 给出条件操作,变量a 小于等于100
do
    let b=b+a					# 命令序列,和值b为b+a
    let a++						# a++等于$a[a+1],超过100后,条件不成立则终止循环

done

echo "总数:$b"

在这里插入图片描述

三、until

3.1 概述

重复测试某个条件,只要条件不成立就会反复执行
和while正好相反

表达式

until 条件测试操作
  do
  命令序列
done

3.2 结构图

在这里插入图片描述

3.3 模板

求1-50的和值

a=0							# 设置和值变量
b=1							# 设置变量
	
until [ $b -gt 50 ]			# 设置条件,变量b大于50
do
  a=$[$a+$b]				# 和值变量a等于 a+b
  let b++					# b++等于$b[b+1],数值到达51的时候说明符合条件,退出循环

done

echo "1-50和值:$a"			# 输出结果

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值