生成随机数是一项有趣的工作。 有时,出于创建密码之类的目的也需要执行此类任务。 在 Linux有几种方法可以用一些脚本生成随机数。
在本文中,我们将解释通过以下方式生成随机数的不同方法 Linux 终端。
使用 $RANDOM 变量
一种方法是使用 $RANDOM 变量生成 0 到 32767 范围内的随机数。它是一个内置的 shell 变量来生成随机数。 要创建随机数,请运行如下所示的命令。
$ echo $RANDOM
在所选范围内生成随机数
通过对命令进行小的调整,您可以在所选范围内生成随机数。 要生成 0 到 30 范围内的随机数,您必须运行如下所示的命令。
$ a=$(( $RANDOM % 31 ))
$ echo $a
另一种生成 0 到 100 之间的随机数的方法,您必须运行如下所示的命令。
$ echo $(( $RANDOM % 101 ))
使用脚本生成随机数
随着使用 bash 脚本,也可以轻松生成随机数。 为了这样的目的写剧本也有点意思。 简单的 example 生成随机数的脚本如下所示。
$ sudo vim randomnumber.sh
#!/bin/bash echo "Enter the smallest number:" read smallest echo "Enter the largest number:" read largest if [[ $largest < $smallest ]]; then echo "Your provided numbers is not valid" exit 1 fi change=$(( $largest-$smallest )) if [[ $change == 1 ]]; then echo "Range between the numbers must be more than 1" exit 1 fi randomnumber=$(( $RANDOM % $largest + 1)) echo "The random number is: $randomnumber"
输出:
使用这样的脚本,您可以在您提供的范围内生成随机数。
shuf命令的使用
它也是在范围之间生成随机数的方法之一。 运行一个简单的命令 Linux 用于此目的的终端。 要生成介于 7 和 57 之间的随机数,请运行如下所示的命令。
$ shuf -i 7-57 -n1
将 tr 命令与 urandom 结合使用
要生成具有“n”位数字的随机数,您可以使用 tr 命令从 /dev/urandom 流中提取数字。 假设要生成一个 3 位和 7 位的随机数,您必须运行如下所示的命令。
$ tr -cd "[:digit:]" < /dev/urandom | head -c 3
$ tr -cd "[:digit:]" < /dev/urandom | head -c 7
结论
在本文中,您学习了在终端上使用一个小命令或通过创建脚本来生成随机数。 此外,您还学习了如何在提供的范围内创建随机数。 谢谢你!