2

我想获得特定范围内的随机数:

random_number=$(( RANDOM % $RANGE ))

这给了我一个错误

 ")syntax error: invalid arithmetic operator (error token is "

我假设我不能在这个表达式中使用 $RANGE,但是为什么呢?我该如何重写这个?

4

2 回答 2

3

不就是这样吗:

random_number = $(( $RANDOM % $RANGE ))

$RANDOM

如果这不起作用这篇文章

建议:

shuf -i 2000-65000 -n 1

更新
重写它的一种方法如下:

 random_number = $(( $RANDOM % some_numeric_value ))
于 2013-04-29T12:00:17.053 回答
2

看起来您的变量RANGE可能被回车或其他东西污染了。

如果您使用的是 Windows,则可能是\rEOL 配置错误,您可以尝试以下操作:

random_number = $(( RANDOM % $(tr -d '\r' <<< "$RANGE") ))
于 2013-04-29T12:02:08.277 回答