05_猜大小游戏

发布时间 2023-10-06 21:37:22作者: 鸟叔书
1. 加减乘除取余
# 方法1
root@bk:~/ckh# expr 1 + 1
2
root@bk:~/ckh# expr 100 - 1
99
root@bk:~/ckh# expr 2 * 2
4
root@bk:~/ckh# expr 9 / 3
3
root@bk:~/ckh# expr 10 % 3
1
root@bk:~/ckh# expr 100 - 1000
-900

# 方法2
root@bk:~/ckh# echo $((3 + 1))
4
root@bk:~/ckh#
root@bk:~/ckh# echo $((3 - 1))
2
root@bk:~/ckh#
root@bk:~/ckh# echo $((3 * 10))
30
root@bk:~/ckh#
root@bk:~/ckh# echo $((9 / 3))
3
root@bk:~/ckh#
root@bk:~/ckh# echo $((10 % 3))
1
root@bk:~/ckh#
root@bk:~/ckh# echo $((10 - 100))
-90

2. 随机数
# RANDOM 为系统自带的系统变量,值为 0-32767 的随机数
root@bk:~/ckh# echo $RANDOM
2272
root@bk:~/ckh# echo $RANDOM
29707
root@bk:~/ckh# echo $RANDOM
14883
root@bk:~/ckh# expr `echo $RANDOM` % 100 + 1
90
root@bk:~/ckh# expr `echo $RANDOM` % 100 + 1
51
root@bk:~/ckh# expr `echo $RANDOM` % 100 + 1
23

3. while 循环方法 1
#!/bin/bash

# lt => less than           小于
# le => less equal than     小于等于
# ge => great equal than    大于等于
# gt => great than          大于
# eq => equal               等于

num=1
while [ $num -lt 5 ]; do
    echo $num
    let num++
done

root@bk:~/ckh# bash test.sh
1
2
3
4

4. while 循环方法 2
#!/bin/bash

# lt => less than           小于
# le => less equal than     小于等于
# ge => great equal than    大于等于
# gt => great than          大于
# eq => equal               等于

num=1
while :; do
    echo $num
    let num++
    if [ $num -ge 5 ]; then
        break
    fi
done

root@bk:~/ckh# bash test.sh
1
2
3
4
5. if elif else
#!/bin/bash

# lt => less than           小于
# le => less equal than     小于等于
# ge => great equal than    大于等于
# gt => great than          大于
# eq => equal               等于

num=1
while :; do
    echo $num
    let num++
    if [ $num -ge 5 ]; then
        break

    elif [ $num -eq 2 ]; then
        echo "now num is 2"

    elif [ $num -eq 3 ]; then
        echo "now num is 3"

    else
        continue
    fi
done

root@bk:~/ckh# bash test.sh
1
now num is 2
2
now num is 3
3
4

6. 接受用户的一个输入并提示
root@bk:~/ckh# read -p "请输入一个数字:" num
请输入一个数字:123

7. 猜大小游戏
#!/bin/bash
# RANDOM 为系统自带的系统变量,值为 0-32767 的随机数

num2=$((RANDOM % 100 + 1))

while :; do
    read -p "计算机生成了一个 1-100 的随机数,你猜: " num1 # 注意这里面写法
    if [ $num1 -eq $num2 ]; then
        echo "恭喜,猜对了"
        echo "$num2"
        exit
    elif [ $num1 -gt $num2 ]; then
        echo "Oops,猜大了"
        echo "$num2"
    else
        echo "Oops,猜小了"
        echo "$num2"
    fi
done

root@bk:~/ckh# bash test.sh
计算机生成了一个 1-100 的随机数,你猜: 11
Oops,猜小了
96
计算机生成了一个 1-100 的随机数,你猜: 95
Oops,猜小了
96
计算机生成了一个 1-100 的随机数,你猜: 97
Oops,猜大了
96
计算机生成了一个 1-100 的随机数,你猜: 96
恭喜,猜对了
96