$(echo $RANDOM | cut -b 1-2) 在 shell 脚本中返回空行

los*_*hos -1 shell-script

我有这个脚本,

#!/bin/sh
guess=$(echo $RANDOM | cut -b 1-2)

read -p "Im thinking of a number, can you guess what it is? " number

case "$number" in
    "$guess") echo "\nCongratulation number guessed corectly!"
        exit 0
        ;;
    *) echo "\nIncorrect number guessed, try again? [yes or no]"
        read yesorno
        case "$yesorno" in
            "yes") sh guess.sh
                ;;
            "no") echo "\nHave a nice day!"
                exit 0
                ;;
            *) echo "Invalid input"
                exit 1
                ;;
        esac
        ;;
esac
Run Code Online (Sandbox Code Playgroud)

变量 $guess 应该返回一个 2 位数字,但返回 null。运行游戏sh guess.sh并按回车,返回祝贺而不是猜测的正确数字。我哪里错了

Rab*_*bin 5

使用bash代替sh

guess=$(echo $RANDOM | cut -b 1-2)
             ^-----^ SC3028: In POSIX sh, RANDOM is undefined.
Run Code Online (Sandbox Code Playgroud)