当前位置: 首页 > news >正文

shell脚本三

目录

一、循环语句

一、循环

二、for循环语句

1.列表循环

2.与c语言循环相似的for循环

3.使用for打印三角形以及乘法表

4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中

三、while循环语句

四、until循环语句

总结:本章主要介绍了shell的循环语句和用法


一、循环语句

一、循环

循环含义

将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件

重复运行次数

循环一定要有跳出循环的条件

1.已知循环的次数

2.未知循环的次数但是有一个跳出条件

常见的循环的命令:for, while, until

二、for循环语句

1.列表循环

for [变量名] in {列表}

do 

命令

done

例:

用for循环写出1+2+...+100的和

#!/bin/bash
m=0
for i in {1..100}
do
m=$[m+i]
done
echo $m

2.与c语言循环相似的for循环

例:

用for循环写出1+2+...+100的和

#!/bin/bash
m=0
for ((i=1;i<=100;i++))
do
m=$[i+m]
done
echo "$m"

3.使用for打印三角形以及乘法表

1.打印三角形

#!/bin/bash
for i in {1..10}
dofor j in `seq $i`doecho -e  "*\c"done
echo
done

2.打印乘法表

4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中
#!/bin/bash
m=172.16.114.
for ((i=1;i<=254;i++))
do
{
ping -c1 -W1 ${m}${i} &>/dev/null
if [ $? -eq 0 ]
then
echo ${m}${i} >> /opt/data/hoston
else
echo ${m}${i} >> /opt/data/hostoff
fi
} &
done

5.文件改后缀名

#!/bin/bash
for i in *.txt
do
pr=`echo $i |cut -d "." -f1`
mv $i ${pr}.bak
done
echo "改名成功"

三、while循环语句

相对于for,需要知道循环次数

我们只知道停止条件,不知道次数,就需要使用while

直到达到条件

while循环

1、语法结构

2、死循环

while循环一般用于有条件判断的循环,若判断条件为真,则进入循环,当条件为假就跳出循环

while [判断条件]

do

命令序列

done

死循环:

while true 和[  1 -eq 1 ]

例子1:

猜价格

#!/bin/bash
m=`echo $[RANDOM%1000+1]`
t=0
while true
do
read -p "请输入价格(范围是1000以内的正整数):" h
let t++if [ $h -eq $m ]thenecho "你猜对了 价格是$h 你猜的次数为$t"exitelif [ $h -gt $m ]thenecho "你猜的价格高了"elseecho "你猜的价格低了"fi
done

例子2:

批量建立用户

#!/bin/bash
i=0
while [ "${i}" -le 3 ]
do
useradd l${i}
echo "123456" |passwd --stdin l${i} &>/dev/null
if [ $? -eq 0 ]
then
echo "用户 l${i} 已被建立"
else
echo "用户 l${i} 建立失败"
fi
let i++
done

例子3:

批量建立用户

#!/bin/bash
i=0
while [ "${i}" -le 3 ]
do
userdel -r l${i}
if [ $? -eq 0 ]
then
echo "用户 l${i} 已被删除"
else
echo "用户 l${i} 删除失败"
fi
let i++
done

四、until循环语句

until 循环与 while 循环类似,while 循环能实现的脚本 until 同样也可以实现,但区别是while 循环在条件为真是继续执行循环,而 until 则是在条件为假时执行循环

until [判断条件]

do

命令序列

done

例子1:

求和

#!/bin/bash
i=0
sum=0
until [ $i -gt 100 ]
do
sum=$[i+sum]
let i++
done
echo "$sum"

总结:本章主要介绍了shell的循环语句和用法

http://www.lryc.cn/news/240370.html

相关文章:

  • 地埋式积水监测仪厂家直销推荐,致力于积水监测
  • CentOS7安装部署Kafka with KRaft
  • Java,数据结构与集合源码,关于Map接口的实现类(HashMap、LinkedHashMap)
  • 【GUI】-- 13 贪吃蛇小游戏之食物及成绩判断
  • 洗地机哪个牌子好用?洗地机选购攻略
  • 节能灯和led灯哪个更护眼?精选高品质的LED护眼台灯
  • 大数据管家 DataSophon 1.2介绍
  • vue实现爱心形状的复选框
  • 珠江啤酒坚持创新,“酿”造电子化采购平台
  • 数据仓库模式之详解 Inmon 和 Kimball
  • 斐波那契数列数列系列问题详解
  • Day38力扣打卡
  • 【C语言:深入理解指针二】
  • 前端实现表格生成序号001、002、003自增
  • 【Django-01】 视图函数和视图类
  • 编译安装报错:configure: error: cannot guess build type; you must specify one
  • 2311rust,到66版本更新
  • JOSEF约瑟 过电流继电器 JL15-300/11 触点形式一开一闭 板前接线
  • postman设置接口关联这样做,薪资直接涨3k
  • Java常见的bug
  • gitea仓库镜像同步至gitlab
  • 服务器不备案的影响
  • 5 个适用于 Linux 的开源日志监控和管理工具
  • 树莓派镜像安装 + 设置 + 镜像批量化操作 - 自动化烧写工具 (四)
  • Redis 性能管理 主从复制与哨兵模式
  • volatile 详解
  • Flink Operator 使用指南 之 Flink Operator安装
  • 类与对象(上篇)
  • 使用SpringBoot集成MyBatis对管理员的查询操作
  • 数据报文去哪儿了