bash脚本中的随机种子
我想在bash脚本中创建一个随机种子,但不知怎的,我知道以后如何再次计算相同的随机种子。 假设我有一系列的服务器id:1到10。我想随机选择一台服务器来运行测试。我可以通过使用随机函数来实现这一点,并查看值bash脚本中的随机种子,bash,random-seed,Bash,Random Seed,我想在bash脚本中创建一个随机种子,但不知怎的,我知道以后如何再次计算相同的随机种子。 假设我有一系列的服务器id:1到10。我想随机选择一台服务器来运行测试。我可以通过使用随机函数来实现这一点,并查看值 echo $((1 + RANDOM % 10)) 6 然后在服务器id 6上运行测试 我循环做了5次 有没有一种方法可以在以后重新计算值(服务器的ID)以查看在何处运行测试?我应该提到,我不希望将ID存储在数组中 或者,除了使用随机函数之外,还有其他方法可以实现这一点吗?假设您想要可重新
echo $((1 + RANDOM % 10))
6
然后在服务器id 6上运行测试
我循环做了5次
有没有一种方法可以在以后重新计算值(服务器的ID)以查看在何处运行测试?我应该提到,我不希望将ID存储在数组中
或者,除了使用随机函数之外,还有其他方法可以实现这一点吗?假设您想要可重新播放的“随机”序列,您可以使用命令
shuf
:
$ printf '%s\n' server{1..10} | shuf --random-source file
server3
server6
server5
server9
server1
server2
server4
server8
server7
server10
只要您使用相同的文件
作为随机源,序列将保持不变,并且可以以相同的顺序重放
关于信息,如果您想摆脱printf,还可以使用命令shuf-eserver{1..10}--random source file
|代码>命令
使用此shuf
命令的-i
选项,如果您有连续的数字范围要洗牌。有关--随机源的详细信息。使用printf'%s\n'服务器{1..10}
避免不必要的shell循环。@TomFenech感谢您的提示@TomFenech仅供参考通过重新阅读该人,我发现shuf-e
选项可以摆脱printf
。。。