在busybox sh上做数学运算

Gen*_*ode 0 shell busybox

我有字符串变量MINSEC(分钟和秒):

MIN="1"
SEC="34"
Run Code Online (Sandbox Code Playgroud)

我想对这些进行计算:

TOTSEC = MIN*60 + SEC
Run Code Online (Sandbox Code Playgroud)

我试过:

expr $SEC + $MIN * 60
Run Code Online (Sandbox Code Playgroud)

结果:

expr: non-numeric argument
Run Code Online (Sandbox Code Playgroud)

让大家知道我运行busybox一个定制的微型计算机,因此无法获得bashbc和其他的解决方案提供。

cuo*_*glm 8

busybox使用ash,因此您可以使用:

MIN=1 SEC=34 busybox sh -c 'echo "$(( MIN*60 + SEC ))"'
94
Run Code Online (Sandbox Code Playgroud)

或与expr

MIN=1 SEC=34 busybox sh -c 'expr " $MIN" \* 60 + "$SEC"'
94
Run Code Online (Sandbox Code Playgroud)