给变量指定一个随机数



通常,我可以使用以下表达式将bash中的变量定义为数字

var='3'

我如何将变量与随机值相关联,例如从1到6,每次都可以在for循环中分配:

for var ...; do
print $var
done

假设在每次迭代中,var应该从1到6中随机选择。

我不确定你的问题是否是关于生成随机数

$ echo $(( RANDOM % 6 + 1 ))
4  # results may vary

或者得到一系列随机数。C风格的for循环可能是最简单的。

# Roll a 6-sided dice 5 times.
for ((n=0; var=RANDOM%6+1, n<5; n++)); do
echo $var
done

第二个表达式使用,运算符,以便在每次循环迭代开始之前将两个var都赋值给。

(当然,没有太多理由这样写循环。要清楚,把赋值放在正文的顶部。

for ((n=0; n < 5; n++)); do
var=$((RANDOM%6 + 1))
echo $var
done

)

实际上不需要for loop,您可以使用RANDOM。如果我们把你的例子考虑在内;要创建1到6之间的随机数,可以使用以下内容;

$(( ( $RANDOM % 6 ) + 1))

你可以试试;

random_number=$(( ( $RANDOM % 6 ) + 1)); echo $random_number

最新更新