创建一个将变量设置为随机整数的函数

创建一个将变量设置为随机整数的函数

我正在 Linux 机器上编写一个 shell 脚本,并试图找出一种编写函数的好方法,我可以调用该函数将变量(我们称之为 $variable)设置为 1 到 466,550 之间的随机数。当然我可以写;

shuf -i 1-466550 -n 1

它可以解决问题,但是我怎样才能在函数中写入它以将我的变量 $variable 设置为该随机数(直到再次调用该函数,在这种情况下它会从 1-466,550 中选择另一个随机整数)?

答案1

我强烈建议你阅读Bash 脚本指南.我通常建议初学者的 Bash 脚本高级 Bash 脚本指南,尽管它们已经有好几年没有更新了……

话虽如此,这里有一个如何做到这一点的例子。

#!/usr/bin/env bash

generate_random() {
    shuf -i 1-466550 -n 1
}

variable="$(generate_random)"
echo "random number: ${variable}"
variable="$(generate_random)"
echo "another random number: ${variable}"

答案2

使用 bash $RANDOM 变量生成随机数:

#!/bin/bash

f(){
    echo $(((RANDOM * RANDOM) % 466550 + 1))
}
x=$(f)
echo $x

相关内容