我想获得特定范围内的随机数:
random_number=$(( RANDOM % $RANGE ))
这给了我一个错误
")syntax error: invalid arithmetic operator (error token is "
我假设我不能在这个表达式中使用$ RANGE,但为什么呢? 我怎么能改写这个?
答案 0 :(得分:3)
不是这样的:
random_number = $(( $RANDOM % $RANGE ))
在$
之前 RANDOM
如果这不起作用post:
建议:
shuf -i 2000-65000 -n 1
<强>更新强>
重写方法如下:
random_number = $(( $RANDOM % some_numeric_value ))
答案 1 :(得分:2)
看起来你的变量RANGE
可能会被回车或其他东西污染。
如果您使用的是Windows,可能会因EOL配置错误而导致\r
,您可以尝试这样做:
random_number = $(( RANDOM % $(tr -d '\r' <<< "$RANGE") ))