shell 脚本中的算术表达式错误
Arithmetic expression error in shell scripting
首先,我将以字节为单位获取昨天和今天文件大小的值(a=昨天和 b=今天)
我需要计算百分比并确定差异是大于还是小于 10%
a=21007558 -- Yesterday
b=19330 -- Today
c=`expr ((($b/$a) "*" 100) "-" 100) | bc`
这不起作用
您可以使用如下缩放选项;
c=$(echo "scale=6;((($b/$a) * 100) -100)" | bc)
echo $c
小于或大于 %10;您可以尝试以下方法;
let c=$(echo $(printf %.f $(echo "scale=6;((($b/$a) * 100) -100)" | bc)))
if [[ c -lt -10 ]]; then
echo "decrease rate is %"$c
fi
if [[ c -gt 10 ]]; then
echo "increase rate is %"$c
fi
首先,我将以字节为单位获取昨天和今天文件大小的值(a=昨天和 b=今天)
我需要计算百分比并确定差异是大于还是小于 10%
a=21007558 -- Yesterday
b=19330 -- Today
c=`expr ((($b/$a) "*" 100) "-" 100) | bc`
这不起作用
您可以使用如下缩放选项;
c=$(echo "scale=6;((($b/$a) * 100) -100)" | bc)
echo $c
小于或大于 %10;您可以尝试以下方法;
let c=$(echo $(printf %.f $(echo "scale=6;((($b/$a) * 100) -100)" | bc)))
if [[ c -lt -10 ]]; then
echo "decrease rate is %"$c
fi
if [[ c -gt 10 ]]; then
echo "increase rate is %"$c
fi