Shell----while&case
猜数字
[root@localhost ~]# vi guess.sh
[root@localhost ~]# bash guess.sh
0-999
输入数字:500
低了
输入数字:700
高了
输入数字:600
低了
输入数字:650
低了
输入数字:670
低了
输入数字:680
低了
输入数字:695
高了
输入数字:690
高了
输入数字:685
高了
输入数字:680
低了
输入数字:684
高了
输入数字:682
低了
输入数字:683
恭喜猜对,数为 683
共猜测 13 次
[root@localhost ~]# cat guess.sh
#! /bin/bash
PRICE=$(expr $RANDOM % 1000)
t=0
echo "0-999"
while true
do
read -p "输入数字:" I
let t++
if [ $I -eq $PRICE ] ; then
echo "恭喜猜对,数为 $PRICE"
echo "共猜测 $t 次"
exit 0
elif [ $I -gt $PRICE ] ; then
echo "高了"
else
echo "低了"
fi
done
[root@localhost ~]#
字符判断
[root@localhost ~]# vi key.sh
[root@localhost ~]# bash key.sh
请输入一个字符,并按Enter键确认:1
您输入的是 数字。
[root@localhost ~]# bash key.sh
请输入一个字符,并按Enter键确认:a
您输入的是 字母。
[root@localhost ~]# bash key.sh
请输入一个字符,并按Enter键确认:
您输入的是 空格、功能键或其他控制字符。
[root@localhost ~]# cat key.sh
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是 字母。"
;;
[0-9])
echo "您输入的是 数字。"
;;
*)
echo "您输入的是 空格、功能键或其他控制字符。"
esac
[root@localhost ~]#