不擅长bash,尤其是这么复杂的bash)
if [ ${#d_p} -ge 3 ]
then
ruble=`echo ${d_p:0:${#d_p}-2}`
penny=`echo ${d_p:${#d_p}-2:${#d_p}}`
d_r=$(($d_r+$ruble))
d_p=$penny
else
penny=`echo ${d_p:${#d_p}-2:${#d_p}}`
fi
一般来说,很明显,某种工作正在与变量一起发生。我们检查 d_p 是否大于或等于 3,但不清楚内部发生了什么计算。我尝试将一些数字替换为变量以查看输出,但问题仍然存在。
该脚本检查变量的字符串长度
d_p
。如果该行的长度大于或等于 3,则该脚本将该行分为两部分:(
ruble
卢布)和penny
(科比)。然后,脚本将卢布添加到变量中,并用科比的值
d_r
更新变量。d_p
如果字符串长度小于 3,则脚本仅将科比的值提取到变量 中
penny
。