Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash脚本中的随机种子_Bash_Random Seed - Fatal编程技术网

bash脚本中的随机种子

bash脚本中的随机种子,bash,random-seed,Bash,Random Seed,我想在bash脚本中创建一个随机种子,但不知怎的,我知道以后如何再次计算相同的随机种子。 假设我有一系列的服务器id:1到10。我想随机选择一台服务器来运行测试。我可以通过使用随机函数来实现这一点,并查看值 echo $((1 + RANDOM % 10)) 6 然后在服务器id 6上运行测试 我循环做了5次 有没有一种方法可以在以后重新计算值(服务器的ID)以查看在何处运行测试?我应该提到,我不希望将ID存储在数组中 或者,除了使用随机函数之外,还有其他方法可以实现这一点吗?假设您想要可重新

我想在bash脚本中创建一个随机种子,但不知怎的,我知道以后如何再次计算相同的随机种子。 假设我有一系列的服务器id:1到10。我想随机选择一台服务器来运行测试。我可以通过使用随机函数来实现这一点,并查看值

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
。。。