迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中生成随机数

作者:迹忆客 最近更新:2024/03/14 浏览次数:

在 Bash 中,可以使用整数或浮点数来生成随机数。bash 脚本可用于在给定范围或大小内创建随机数。本文演示了在 Bash 中生成随机数的各种方法。


使用 $RANDOM 变量生成随机数

$RANDOM 变量可用于生成随机数或随机值范围在 032767 之间。但是,你可以通过将 $RANDOM 值除以特定值来限制用于生成随机数的数字范围。

要生成 0 到 32767 之间的随机数,请使用以下命令:

$ echo $RANDOM

输出:

28091

你可以通过将 $RANDOM 变量除以剩余值来从特定范围内生成随机数。它包含带有 $ 符号的双括号 (())

要生成 1 到 100 之间的随机数,请使用以下命令:

$ echo $(( $RANDOM % 100 + 1 ))

输出:

19

由于百分号导致数学运算模数失败,因此永远不会达到数字 100(除法后的余数)。如果随机生成器返回值 100,则模运算将提供值 0。


使用 shuf 命令生成随机数

你可以使用命令 shuf 在 shell 脚本中生成大量数字。

以下命令将创建 0 到 100 之间的单个整数:

$ shuf -i 0-100 -n1

输出:

76

在上述命令中,-i 表示输入范围,-n 表示人数。键 -n 后跟任意正数,表示生成随机数的数。运行以下命令,打印 0 到 100 之间的五个随机数。

$ shuf -i 0-100 -n5

输出:

68
78
24
76
41

使用 /dev/urandom 生成随机数

/dev/urandom 设备文件允许你生成比 $RANDOM 变量更随机的伪随机数。但是,将这些数字放入脚本中的变量需要进一步的工作,例如通过 od 过滤,如示例中所示。

od /dev/urandom  -A n -t d -N 1

-t d 选项表示应使用带符号十进制作为输出格式,-N 1 告诉程序从 /dev/urandom 获取一个字节。

输出:

124

使用 awk 生成随机数

awkrand() 函数返回一个 0-1 范围内的随机浮点数。BEGIN 后面的命令将在下一步之前执行。

awk 'BEGIN{x=rand(); print x}'

输出:

0.444937

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Linux 中的 grep 命令

发布时间:2024/02/04 浏览次数:88 分类:操作系统

本教程演示使用 grep 命令匹配不区分大小写的模式、计算匹配的数量、显示匹配的文件名、匹配精确模式、仅显示匹配的模式、显示行号、反转模式匹配、匹配起始字符串并匹配一行的

Bash 脚本中的 eval 命令

发布时间:2023/06/11 浏览次数:337 分类:操作系统

本文是关于在 Bash 脚本中使用字符串作为命令的。 为此,使用了 eval 命令。Bash 脚本中的 Eval 命令 在某些 Bash 脚本中,您必须使用变量或输入值(例如)创建一个字符串,并在最后将其作为命

退出 Bash 脚本

发布时间:2023/06/11 浏览次数:255 分类:操作系统

本文简要介绍 Bash 脚本,并讨论在出现错误时退出 Bash 脚本。 它进一步讨论了 Bash 脚本的局限性和好处。什么是 Bash 脚本 计算机脚本/程序告诉计算机做什么和说什么。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便