我想在linux bash脚本中生成随机数,这些随机数与特定范围内的固定值对齐。例如,如果数字与X对齐且范围为[0,Y],则我不希望列表{0,1,2,...,Y}中的随机数,但我希望它们是随机的从以下列表中选择:{0,X,2X,3X,4X,...,Y}。
这些数字的示例可以是:3X,120X,X,99X,...(它们在[0,Y]范围内,但是X的倍数)如何生成这些数字?
您可以使用此命令:
echo $(($(shuf -i 0-$((Y/X)) -n1)*X))
# x positive integer
# y positive integer y >= x
x=11
y=34
echo $(((RANDOM % (y/x+1)) * x))