2021-01-21

shell脚本编程学习第五天

E、猜数字游戏。首先让系统随机生成一个数字,给这个数字定一个范围(1-60),
让用户输入猜的数字,对输入进行判断,如果不符合要求,就给予高或低的提示,猜对后则给出猜对用的次数。

#!/bin/bash
game(){
read val
if [[ !  $val =~ ^[0-9]+$ ]]; // 用[[ ]] 装判断条件的时候,千万有空格啊,又一次犯错了。
then
    echo "wrong input, please input number"
    exit
fi
if [[ $val > $num ]];
then
    count=$[$count+1]
    echo "bigger, continue"
elif [[ $val < $num ]];
then
    count=$[$count+1]
    echo "smaller, continue"
else
    echo "congratulation, you guess $count times"
    exit
fi
}
main(){
echo "guess number"
num=$[RANDOM%61]
echo "num: $num"
while true
do
    game
done
}
main

遇到的问题:
[[]] 千万加空间;
RANDOM:系统自带产生随机数,$[RANDOM%61] :产生1-61的随机数,使用 [] 或则 (( ))。
if [[ ! v a l =   [ 0 − 9 ] + val =~ ^[0-9]+ val= [09]+ ]] : 判断输入是不是数字,可以记住,挺好的。
! 表示非,后面有空格;=两边没有空格;
= ~ 用于正则表达式匹配; ^ 开头 $ 结尾 + 更多的匹配; [0-9] 区间都是数字。
if [[ ]];then
执行语句
elif [[ ]];then
执行语句
else
执行语句
fi

函数:
[function] funname() { 函数体 },其中function关键字可有可无。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值