大神部落 网站建设,网站建设3a模型是什么,凡科建站提示网站建设中,济南网络推广循环语句
循环含义
将某代码段重复运行多次#xff0c;通常有进入循环的条件和退出循环的条件
for循环语句
一般知道循环次数使用for循环
第一类
格式1#xff1a;
for名称 in 取值次数;do;done;
格式2#xff1a;
for 名称
in {取值列表}
do
done# 打印20次
for i i…循环语句
循环含义
将某代码段重复运行多次通常有进入循环的条件和退出循环的条件
for循环语句
一般知道循环次数使用for循环
第一类
格式1
for名称 in 取值次数;do;done;
格式2
for 名称
in {取值列表}
do
done# 打印20次
for i in {1..20}
do
echo $i
done 在这里插入代码片#100个数累加
sum0
for i in {1..100}
do
let sumi
done
echo $sum
#奇数和
sum0
for i in seq 1 2 100
do
sum$[sum1]
done
echo $sum
#偶数和
将奇数和seq 1 2 100 改为 seq 0 2 100第二种
格式1
for (( 表达式1; 表达式2; 表达式3 )); do 命令; done
格式2
for ((expr1;expr2;expr3))
do
command
doneexpr1定义变量并赋初值
expr2决定是否循环
expr3决定循环变量如何改变决定循环什么时候退出#1到10个数的累加
for ((i0;i10;i))
do
sum$[isum]
done
echo $sum#检测网络连通性
for i in {1..254}
do
{
ping -c2 -W1 192.168.65.${i} /dev/null #-c2 ping两次W1超时一秒返回
if [ $? -eq 0 ]
then
echo host $i is online /data/online.txt
else
echo host $i is offline /data/offline.txt
fi
} # 后台执行
done 99乘法表
#打印一行*
#!/bin/bash
for i in {1..9}
do
echo -e *
done打印正方形
#!/bin/bash
for j in {1..9}
do
for i in {1..9}
do
echo -e * \c #\c换行
done
echo #换行
done直角三角形
#!/bin/bash
for j in {1..9}
do
for i in seq $jdoecho -e ${i}*${j}echo $[i*j]\t\cdoneecho
done#!/bin/bash
for j in {1..9}
do
for i in seq $jdoecho -e ${i}*${j}echo $[i*j]\t\c #\t表示对齐doneecho
done批量添加用户
#!/bin/bash
ulist$(cat /opt/user.txt)
for uname in $ulist
douseradd $unameecho 123123 |passwd --stdin $uname #免交互设置密码/dev/null
done while循环语句
不知道循环次数知道停止条件时一般使用while
格式
while 判断条件
do
done# 累加
#!/bin/bash
sum0
i0
while [ $i -le 100 ]
do
sum$[isum]
let i
done
echo $sum #!/binbash
pecho $[PANDOM%10001] #随机生成数
time0
while true
do
read -p 商品价格 h
let time
if [ $h -eq $p ]
then
echo 恭喜猜对了,一共猜了${time}
exit
elif [ $h -gt $p ]
then
echo 您猜的价格高了
else
echo 您猜的价格低了
fi
doneuntli循环语句
until 方式的1到100 的累加
#!/bin/bash
i0
sum0
until [ $i -gt 100 ]
do
sum$[sumi]
let i
done
echo $sum
[rootlocalhost data]#bash until.sh
5050#为指定用户发送在线消息
#若用户不在线未登录系统则每1分钟试一次直至用户登录系统后在发送信息
#用户名与消息通过位置参数传递给脚本
[rootlocalhost data]#vim test3.sh
#!/bin/bash
username$1
if [ $# -lt 1 ]
then
echo请在脚本后输入 用户名和发送信息
exit 1
fiif grep ^$username /etc/passwd /dev/nu11
then :
else
echo 用户不存在
exit 1
fiuntil who |grep $username /dev/nu11
do
echo 用户不在线
sleep 5
donemes$2
echo $mes |write $username
[rootlocalhost data]#bash test3.shrep ^$username /etc/passwd /dev/nu11
then :
else
echo 用户不存在
exit 1
fiuntil who |grep $username /dev/nu11
do
echo 用户不在线
sleep 5
donemes$2
echo $mes |write $username
[rootlocalhost data]#bash test3.sh双循环和跳出循环
break跳出单个循环后面加数字2则代表跳出两层循环continue终止某次循环中的命令但是不会完全终止命令 #本层循环
#!/bin/bash
for i in {1..10}
do
if [ $i -eq 5 ]
then continue
fi
echo i$i
done#本层循环
#!/bin/bash
for i in {1..10}
do
if [ $i -eq 5 ]
then break
fi
echo i$i
done