Bash I';我的彩票发生器有问题

Bash I';我的彩票发生器有问题,bash,Bash,我所经历的是没有彩票生成。运行脚本后,系统会提示用户输入MaxValue、NumValue(每行数字)和他们想要的彩票号码。这一直有效,直到我添加了检查以确保非数值,并且NumValues中大于MaxValue的数字导致错误消息 #!/bin/bash echo "Please enter a max random number." read MaxValue if [[ $MaxValue != +([0-9]) ]] then echo "I can't accept any

我所经历的是没有彩票生成。运行脚本后,系统会提示用户输入MaxValue、NumValue(每行数字)和他们想要的彩票号码。这一直有效,直到我添加了检查以确保非数值,并且NumValues中大于MaxValue的数字导致错误消息

#!/bin/bash

echo "Please enter a max random number."
read MaxValue

 if [[ $MaxValue != +([0-9]) ]]
  then
   echo "I can't accept any non-numeric characters. Please try again."
   exit
 fi

echo "Please enter the number of tickets.   "
read NumValues

  if [ $NumValues -gt $MaxValue ]
  then
   echo "The number of values can't be greater than the max random number. Please try again."
    exit
  fi

echo "Please enter how many tickets you'd like. "
read NumSeq

  while [ $NumSeq -gt 0 ]
     do
      touch lotto
      x=$NumValues
      while [ $x -gt 0 ]
      do

      num1=$(($RANDOM * MaxValue))
      num2=$((num1 / 32767))
       if [ `grep -c $num2 lotto` -eq 0 ]
        then
        echo $num2 >> lotto
        x=$((x - 1))
       fi
       done

     NumSeq=$((NumSeq - 1 ))

     echo `sort -n lotto`

     rm lotto
     done

欢迎来到堆栈溢出!你能澄清一下问题是什么吗?因为我不太清楚。“有麻烦”不是很好的描述。你希望看到什么?你到底看到了什么?你有错误吗?请花点时间通读您的问题。谢谢!我遇到的问题是,就“乐透”彩票而言,没有产生任何东西。成功执行后,我希望看到的是一系列随机数,具体取决于MaxValue、NumValue和NumSeq。代码一直在运行,直到有人指示我添加检查以确保非数字值和大于MaxValue的NumValue(每行的数字)导致错误。在我的系统上按原样运行脚本对我有效。也许您的问题与您正在使用的特定输入参数有关?我不确定发生了什么,但它现在起作用了。奇怪的无论如何,感谢您的关注。如果您已经在使用
[[
,请在脚本中完全使用它。避免使用
[