Bash I';我的彩票发生器有问题
我所经历的是没有彩票生成。运行脚本后,系统会提示用户输入MaxValue、NumValue(每行数字)和他们想要的彩票号码。这一直有效,直到我添加了检查以确保非数值,并且NumValues中大于MaxValue的数字导致错误消息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
#!/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(每行的数字)导致错误。在我的系统上按原样运行脚本对我有效。也许您的问题与您正在使用的特定输入参数有关?我不确定发生了什么,但它现在起作用了。奇怪的无论如何,感谢您的关注。如果您已经在使用
[[
,请在脚本中完全使用它。避免使用[
。