从中生成随机数 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

将 tr 命令与 urandom 结合使用

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

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

结论

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