![创建一个将变量设置为随机整数的函数](https://linux22.com/image/929465/%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E5%8F%98%E9%87%8F%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%9A%8F%E6%9C%BA%E6%95%B4%E6%95%B0%E7%9A%84%E5%87%BD%E6%95%B0.png)
我正在 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