先来一个简单的,猜100以内的随机数(十分适合新手)
############################################################################
#!/bin/bash
num=$[ RANDOM% 100 ]
#echo "$num"
while :
do
read -p "将随机生成一个1-100的随机数:" sj
if [ $sj -eq $num ]; then
echo "答对了"
exit
elif [ $sj -gt $num ]; then
echo "错了,猜大了"
else
echo "错了,猜小了"
fi
done
########################################################################
上面是代码,下面是解析
#!/bin/bash #是头部,这个是默认都要的,使用bash解释器
num=$[ RANDOM% 100 ]
定义变量num为100以内的随机数RANDOM%是随机数,100是指范围为100以内$[ ]为优先计算,若不加的这个随机数就真的会很大了
echo $num
显示随机数,我再前面加了一个#表示注释,跳过这一条命令
while : 进入循环准备
do 开始
done 结束
这个是无限循环结构
read -p "将随机生成一个1-100的随机数:" sj
输出将随机生成一个1-100的随机数:然后给你填写数字
read是输出-p是为了加字也就是说其实不需要-p "将随机生成一个1-100的随机数:"这个也是可以的,只是不好看和不方便识别
最后的sj是变量
if [ ];then 判断是不是
elif [] ;then 上面判断失败,再次判断
else 都不是
if 结束
这是if结构体
if [ $sj -eq $num ]; then
if语句是判断
判断变量sj是不是等于变量num
echo "答对了"
输出答对了这三个字
依据if语句这句话真正意思为两者相等你答对了
elif [ $sj -gt $num ]; then
上一条判断失败进入判断sj是不是大于num
echo "错了,猜大了"
是的,你答错了,猜大了
else
以上判断全部错误执行下面结果
echo "错了,猜小了"
你答错了,猜小了
fi
结束if语句
done
结束
注:if语句
if [ ] ;then
fi
为判断一次
if [ ] ;then
else
if
判断两次
if [ ] ;then
elif [ ] ;then
else
if
判断两次以上
注:
if与elif判断后面跟;then
else不需要
标点符号为英文,中文报错