#!/bin/bash function rand(){ min=$1 max=$(($2-$min+1)) num=$(date +%N)
((retnum=$num%max+min));
echo $retnum;
} rnd=$(rand 1 50) echo $rnd exit 0
-- 报错 shell value too great for base (error token is "096192304")
解决方法:加上10#,即声明称十进制
将要转换成十进制的变量或者数字 在前面加上`10#`即可:
((retnum=10#$num%max+min));