本文介绍: 目录一、循环语句一、循环二、for循环语句1.列表循环2.与c语言循环相似的for循环3.使用for打印三角形以及乘法表4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中三、while循环语句四、until循环语句总结:本章主要介绍了shell的循环语句和用法一、循环语句一、循环循环含义将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件重复运行次数循环一定要有跳出循环的条件
4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中
一、循环语句
一、循环
循环含义
将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件
重复运行次数
循环一定要有跳出循环的条件
1.已知循环的次数
2.未知循环的次数但是有一个跳出条件
二、for循环语句
1.列表循环
do
例:
用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打印三角形以及乘法表
#!/bin/bash
for i in {1..10}
do
for j in `seq $i`
do
echo -e "*c"
done
echo
done
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循环
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 ]
then
echo "你猜对了 价格是$h 你猜的次数为$t"
exit
elif [ $h -gt $m ]
then
echo "你猜的价格高了"
else
echo "你猜的价格低了"
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的循环语句和用法
原文地址:https://blog.csdn.net/2301_76352247/article/details/134551724
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_14063.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。