shell脚本中的while循环和until循环
文章目录
while语句的结构
重复测试某个条件时,只要条件成立则反复执行
while 条件表达式
do
命令序列
done
例
创建多个用户
#创建多个用户
#!/bin/bash
name=1
while [ $name -ge 0 -a $name -le 20 ]
do
useradd stu$name
echo 123456 | passwd --stdin stu$name
name=$[ $name++ ]
done
猜测0~99随机数
#猜测一个0~99的随机数
#!/bin/bash
num=$[$RANDOM % 100]
a=1
P=0
while [ $a -eq 1 ]
do
read -p "请输入一个数" num1
if [ $num -gt $num1 ]
then
echo "小了"
let P++
elif [ $num -lt $num1 ]
then
echo "大了"
let P++
else
echo "对了"
echo "你一共猜了 $P 次"
let a++ #使变量a+1,不满足while成立的表达式即可退出,或者exit退出。
fi
done
请添加图片描述
随即输入0~100的一个数,并求出1打这个数的和
#!/bin.bash
i=1
read -p "请输入一个数" num
if [ $num -le 100 ]
then
while [[ $i -gt 0 && $i -le $num ]]
do
if [ $i -le $num ]
then
sum=$[ $sum + $i ]
i=$[ $i + 1 ]
else
exit
fi
done
else
echo "输入有误,请重新输入,0~100整数"
exit
fi
echo "1~$num 的和为 $sum"
求0~100所有数的和,并分别求出奇数和和偶数和
#!/bin/bash
i=1
while [[ $i -ge 1 && $i -le 100 ]]
do
sum=$[ $sum+$i ]
P=$i
i=$[ $i + 1 ]
if [ $[ $P % 2 ] -eq 0 ]
then
sum1=$[ $sum1 + $P ]
else
#sum2=$[ $sum - $sum1 ]
sum2=$[ $sum2 + $P ]
fi
done
echo "1~100所有数和为: $sum"
echo "1~100所有偶数和为: $sum1"
echo "1~100所有奇数和为: $sum2 "
until语句的结构
重复测试某个条件,只要条件不成立则反复执行
until 条件测试操作
do
命令序列
done
例
#累加1~100
#!/bin/bash
a=1
sum=0
until [ $a -gt 100 ]
do
sum=$[$sum +$a]
let a++
done
echo "1~100的和为: $sum"
~