以下是我认为会创建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"
第一个回声函数工作正常,每次显示一个随机数,而另一个回声函数始终给出零输出
答案 0 :(得分:1)
用于产生0到50之间的随机数的功能
功能:
rand() { echo $((RANDOM % 50)); }
输入您的代码:
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"
的值传递给函数即可。