我正在 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