You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Bash中15(或var1)的调用频率是16(或var2)的4倍?

实现指定频率的数字随机调用

当然可以实现让数字15(或$var1)的调用频率是16(或$var2)的4倍!下面给你两种适配你原有代码逻辑的解决方案:

方法一:基于shuf的随机调用改造

原来的shuf是在15-16中均匀随机选,要实现4倍频率,我们可以构造一个包含4个15和1个16的候选集合,让shuf从这个集合里随机挑选一个:

echo $(shuf -e 15 15 15 15 16 -n 1)

原理很简单:候选集合里有5个元素,其中4个是15,1个是16,随机抽取时15被选中的概率就是4/5,刚好是16的4倍。

方法二:基于变量的脚本改造

如果你想用变量的方式实现,我们可以借助Bash的$RANDOM变量(它会生成0-32767之间的随机整数),通过判断随机数的范围来控制输出频率:

#!/bin/bash
var1=15
var2=16
# 用模5的方式:0-3输出var1(4种情况),4输出var2(1种情况)
if [ $((RANDOM % 5)) -ne 4 ]; then
    echo "$var1"
else
    echo "$var2"
fi
exit

这里通过$((RANDOM % 5))把随机数映射到0-4的范围,其中4种情况输出var1,1种情况输出var2,完美实现了4倍的频率差异。

内容的提问来源于stack exchange,提问作者Serge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:57:54