Guess_number脚本将WHILE添加到guess_number并运行它

时间:2014-09-26 02:05:14

标签: linux bash

num=$(($RANDOM%11))
input=10
while [$num=input];do
    read -p "Enter an Integer between 0 and 10:" input
    echo "correct"
    if [ $num -ne input ];then
        echo "incorrect guess"    
    fi

不断意外结束语法错误?

1 个答案:

答案 0 :(得分:1)

除了丢失的logic之外,您的代码中还有一些重要的syntaxdone错误。首先,由于test错误,您的syntax条款失败[测试构造需要space[之间的]以及内部的测试子句。您的测试还包含syntax个错误,这些错误与变量名称前的$和第一个中的=不一致有关。它们都应该写成:

[ $num -ne $input ]

您的逻辑最好将echo "correct"作为else添加到if子句,以防止correct输出每个数字。没有这些问题的版本看起来像:

#!/bin/bash

num=$(($RANDOM%11))
input=10

while [ $num -ne $input ];do

    read -p "Enter an Integer between 0 and 10: " input

    if [ $num -ne $input ];then
        echo "  incorrect guess"
    else
        echo "  correct!"
    fi

done

exit 0