bash - 在 bash 中生成不重复的随机数序列

标签 bash random numbers

今晚我一直在为学习 bash 而烦恼,我一直在尝试创建一个随机数序列,该序列使用一个范围内的所有数字并且每个数字只使用一次。因此,输入 1-5 的范围将输出 4-3-5-2-1 或 2-5-1-3-4 等。我被困在这个问题上了。

谢谢!

最佳答案

下面的命令不是 bash 特有的,但它有效

seq 1 5 | shuf

一个更具体的带有子字符串的 bash

x=12345
for((i=5;i>0;i--));do
  ((r=RANDOM%i+1))
  echo ${x:r-1:1}
  x=${x:0:r-1}${x:r}
done

关于bash - 在 bash 中生成不重复的随机数序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550372/

相关文章:

c++ - 简单的 C++ 程序超出其数组边界并崩溃

random - sklearn PCA random_state 参数函数

javascript - 如何用js从1开始的范围内生成随机数?

c# - .Net 中的零舍入错误类?

bash - 如何以编程方式添加 bat 测试?

bash - 使用 bash 一个一个地读取 zip 文件中的文件

java - 从列表中获取随机字符串

bash - [-f : Command not found, Bash 脚本文件是否存在

bash - 在 Windows 上加速大量短暂的 `psql` session

Python 数字金字塔