劉啓成_第七章實驗(三):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

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