bash脚本中的随机种子

时间:2018-06-22 07:36:48

标签: bash random-seed

我想在bash脚本中创建一个随机种子,但是不知怎的知道以后如何再次计算相同的随机种子。 假设我的服务器ID范围是1到10。我想随机选择一个服务器来运行测试。我可以使用RANDOM函数来做到这一点,并查看值

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

然后在服务器ID 6上运行测试。

我循环执行了5次。

以后是否可以重新计算值(服务器的ID)以查看运行测试的位置?我应该提到我不希望将ID存储在数组中。

或者除了使用RANDOM函数之外还有其他方法吗?

1 个答案:

答案 0 :(得分:3)

假设您要重播“随机”序列,可以使用命令shuf

$ printf '%s\n' server{1..10} | shuf --random-source file
server3
server6
server5
server9
server1
server2
server4
server8
server7
server10

只要您将相同的file用作随机源,序列将保持不变,并且可以相同的顺序播放。

有关信息,如果您想摆脱shuf -e server{1..10} --random-source file命令,也可以使用命令printf ... |

使用此-i命令的shuf选项,如果您有连续的数字范围可以洗牌。