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

UPDATE
これを書き換える方法は次のとおりです。

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

キャリッジ リターンなどによって変数RANGEが汚染されているようです。

Windows を使用している場合\rは、EOL の構成ミスが原因である可能性があります。これを試すことができます。

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