刘启成_第七章实验(三):while

第七章实验(三):while+case

一.while循环:

重复测试摸个条件,只要条件成立反复执行。

条件可以是:测试表达式,也可以是布尔值true(条件永远为真)和false(条件永远为假)

[root@ns bin]# cat useradd_while.sh ##将下面脚本改写为新建用户的脚本

#!/bin/bash

PRE=stu

i=0

while [ $i -le 10 ];do

#useradd $PRE$i

#echo 123123 |passwd --stdin $PRE$i

userdel -r $PRE$i

#i=$(expr $i + 1)

let i++

done

clip_image002

clip_image004

1.函数RANDOM、let、exit:

RANDOM是生成随机数的一个函数。

[root@ns bin]# echo $RANDOM ##生成随机数

clip_image006

[root@ns bin]# expr $RANDOM % 100 ##获取100内的随机数

27

clip_image008

[root@ns bin]# expr $RANDOM % 1000 ##获取1000内的随机数

336

let命令的作用是对变量进行自加减操作:

[root@ns bin]# i=1

[root@ns bin]# let i++

[root@ns bin]# echo $i

2

[root@ns bin]# let ++i

[root@ns bin]# echo $i

3

[root@ns bin]# let i--

[root@ns bin]# echo $i

2

clip_image010

[root@ns bin]# expr $i + 1

clip_image012

综合应用:

[root@ns bin]# cat price_guess.sh

#!/bin/bash

PRICE=$(expr $RANDOM % 1000)

TMS=0

echo "please insert a number like this(1-999)"

while true;do

read -p "please give number:" INT

let TMS++

if [ $INT -eq $PRICE ];then

echo "your luckly. right! "

echo "Your guess $TMS"

exit 0

elif [ $INT -gt $PRICE ];then

echo "Too High,try a again. "

else

echo "Too low,try a again."

fi

done

clip_image014

clip_image016

2.区分exit,break

exit退出程序(脚本),break只是退出循环体。

[root@ns bin]# cat die_while.sh

#!/bin/bash

i=0

j=$(expr $RANDOM % 10)

while true;do

echo $i

let i++

sleep 1 ##休眠1秒避免死循环产生

if [ $i -eq $j ];then

echo "ok,$j random"

break ##将break替换为exit执行后查看效果

fi

done

df -hT

[root@ns bin]#

clip_image018

clip_image020

clip_image022

clip_image024

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章