用于产生0到50之间的随机数的函数

时间:2019-05-22 12:17:27

标签: linux bash function

以下是我认为会创建0到50(包括两者)之间的随机数的代码

#!/bin/bash
var1=51
var=$RANDOM
echo $var
function rand(){
    local var1=$1
    local var2=$2
    local result=$(( var1 % var2 ))
    echo $result
}   
rand "var" "var1"

第一个回声函数工作正常,每次显示一个随机数,而另一个回声函数始终给出零输出

1 个答案:

答案 0 :(得分:1)

  

用于产生0到50之间的随机数的功能

功能:

rand() { echo $((RANDOM % 50)); }

输入您的代码:

  • bash使用字符串
  • rand "var" "var1"将字符串var和字符串var1分配给函数
  • 然后local var1=$1将变量var1设置为局部变量,而var1变量的值是var string (! )。
  • 然后local var2=$2等于local var2="var1",它将var2的变量值设置为 string “ var1”。
  • local result=$(( var1 % var2 ))无效。这等于local result=$(( "var" % "var1" ))。您无法对“字符串”进行微积分,这毫无意义。
  • 只需将变量rand "$var" "$var1"的值传递给函数即可。