在 Bash 中生成随机数
在 Bash 中,可以使用整数或浮点数来生成随机数。bash 脚本可用于在给定范围或大小内创建随机数。本文演示了在 Bash 中生成随机数的各种方法。
使用 $RANDOM
变量生成随机数
$RANDOM
变量可用于生成随机数或随机值范围在 0
和 32767
之间。但是,你可以通过将 $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 生成随机数
awk
的 rand()
函数返回一个 0-1 范围内的随机浮点数。BEGIN
后面的命令将在下一步之前执行。
awk 'BEGIN{x=rand(); print x}'
输出:
0.444937
相关文章
在 Bash 中运行 find -exec 命令
发布时间:2024/03/14 浏览次数:92 分类:操作系统
-
本文将演示如何使用 find 命令的 -exec 参数来使用 find 命令定位文件中的任何文本。
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 脚本 计算机脚本/程序告诉计算机做什么和说什么。