从 Linux 终端生成随机数

生成随机数是一项有趣的工作。 有时,出于创建密码等目的也需要此类任务。 在 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

在 urandom 中使用 tr 命令

要生成具有“n”位数的随机数,您可以使用 tr 命令从 /dev/urandom 流中提取数字。 假设要生成一个 3 位和 7 位的随机数,您必须运行如下所示的命令。

$ tr -cd "[:digit:]" < /dev/urandom | head -c 3
$ tr -cd "[:digit:]" < /dev/urandom | head -c 7

结论

在本文中,您学习了在终端上使用小命令或通过创建脚本来生成随机数。 此外,您还学会了在提供的范围之间创建随机数。 谢谢!