shell循环语句 for while until

目录

什么是循环语句

概念

for循环

格式

while循环

格式

until 循环

格式

实验   for

(1)计算1到100的和

​编辑

(2)100以内的偶数 (从0开始到100结束,每次加2步  打印的都是偶数)

(3)100以内的奇数 (从1开始到100结束,每次加2步,打印的都是奇数)

(4)批量添加用户

    (4.1)批量删除用户

(5)测试网络段连通性

(6)批量将文件更改文件名

​编辑

1.打印 xyc

2.九九乘法表

​编辑

3.打印正方形

实验   while

(1)猜价小游戏

(2)计算1加到100的和

实验   until

(1)计算1加到100的和


什么是循环语句

概念

循环语句是一种在满足循环条件的情况下,反复执行某一段代码的流程结构。被反复执行的程序被称为循环体,它可以在合适的时候把循环判断条件改为false,从而结束循环,否则循环将一直执行下去,形成死循环。循环语句可以由循环体及循环的终止条件两部分组成。在实际问题中,有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句,一组被重复执行的语句称之为循环体

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

2.已知循环次数(来十个新人  新建十个账号)

3.位置循环的次数,但是有一个跳出条件

for循环

格式

for  变量名  in  {list}

do 

     命令序列

done

循环次数列表跟你循环次数有关

循环列表有6个值  那么就循环6次

循环列表表现形式

while循环

格式

while 判断条件 条件成立 继续

                         条件不成立    跳出循环

do 

命令序列

done

while循环一般用于有条件判断的循环,

若判断条件为真,则进入循环,

当条件为假就跳出循环

until 循环

格式

until 条件测试操作

do

命令序列

done

until 循环与 while 循环类似,

while 循环能实现的脚本 until 同样也可以实现,

但区别是while 循环在条件为真是继续执行循环,

而 until 则是在条件为假时执行循环

实验   for

(1)计算1到100的和

sum=0;
i=0;
for i in {1..100};
do
sum=$[sum+i];
done;
echo $sum

(2)100以内的偶数 (从0开始到100结束,每次加2步  打印的都是偶数)

echo {0..100..2}

(3)100以内的奇数 (从1开始到100结束,每次加2步,打印的都是奇数)

echo {1..100..2}

(4)批量添加用户

#!/bin/bash

for i in `cat /qqq/name1.txt`
do
id $i &>/dev/null
if
[ $? -eq 0 ]
then
echo "$i 已存在 "
continue
fi
useradd $i
echo 123 |passwd $i --stdin
done

    (4.1)批量删除用户

#!/bin/bash

for i in `cat /qqq/name1.txt`
do
id $i &>/dev/null
if
[ $? -eq 1 ]
then
echo "$i 已删除 "
fi
userdel -r $i
done

(5)测试网络段连通性

#!/bin/bash
ip=192.168.17.

for i in {1..254}

do
{
ping  -c1 -W1 ${ip}${i} &>/dev/null
if [ $? -eq 0 ]   
then
echo ${ip}${i} >> /qqq/hoston    #可以ping通的放到hoston文件里
else
echo ${ip}$i  >> /qqq/hostoff    #不可以ping通的放到hostoff文件里

fi
} &    #放入后台执行
done

(6)批量将文件更改文件名

#!/bin/bash

for i in `cat /qqq/xxx.txt`
do
touch $i     #将xxx.txt的文件独立出来
done

for i in *.JPG
do
p=`echo $i |cut -d"_" -f1`   #以_分割将_前面的提出来
n=`echo $i |cut -d"_" -f2`   #以_分割将_后面的提出来
mv $i ${n}_${p}.JPG  #重命名

done

1.打印 xyc

#!/bin/bash
for i  in {1..10}
do
echo -e " xyc "
done

2.九九乘法表

#!/bin/bash
for j in {1..9}
do
for i in `seq $j`
do
echo -e "${i}x${j}=$[i*j] \t\c"  ###\t对齐 \c换行
done
echo
done
~          

3.打印正方形

#!/bin/bash
for j in {1..10}
do
for i  in {1..10}
do
echo -e " * \c"    ###\c换行
done
echo        ###换行
done 

实验   while

(1)猜价小游戏

#!/bin/bash

m=`echo $[RANDOM%1000+1]`
t=0
special_char="*"
echo "This is $special_char"
while true
do
read -p "请输入猜的价格(1-1000内的整数):" h
let t++
if [ $h -eq $m ]
then
echo "你猜对了 商品价格是 $h 你一共猜了 $t 次"
exit
elif [ $h -gt $m ]
then
echo "你猜高了"
else

echo "你猜低了"

fi
done

(2)计算1加到100的和

#!/bin/bash
i=0
sum=0
while [ $i -le 100 ]
do
sum=$[sum+i]
let i++
done
echo sum=$sum

实验   until

(1)计算1加到100的和

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值