输入与变量比较是不是有效?

时间:2016-02-27 18:14:54

标签: bash

这是一个随机数生成器,后跟行清除计时器,然后您尝试输入您看到的数字。我似乎无法设置randNum变量和输入之间的比较。我也尝试为输入设置一个定义的值,但仍然收到错误"命令未找到"检查输入vs randNum变量

n=$RANDOM$RANDOM$RANDOM; let "n %= 10000000000";
echo $n

for i in {5..1}; do echo $i; sleep 1; tput cuu1; tput el; done
tput cuu1; tput el

echo "what was that number?"
#read input
input=999999999
if [$input == $n]
then
echo "you are correct"
else
echo "you are incorrect"
fi

2 个答案:

答案 0 :(得分:0)

当用于此目的([命令的替换语法)时,shell ]test周围需要空格,您应该更好地使用-eq而不是== {1}}用于数字比较:

if [ $input -eq $n ]

答案 1 :(得分:0)

如果您使用算术比较,而不是旧的test命令(a.k.a。[),那么您可以避免这些问题。这里的空格在括号内不太重要:

if (( input == n ))

请注意,不需要前导$(使用它可能会导致问题)