shell脚本中的算术表达式错误

时间:2016-08-26 06:40:02

标签: shell unix bc

首先我会看到昨天的价值&今天文件大小以字节为单位(a =昨天& b =今天)

我需要计算百分比并找出差异大于或小于10%

a=21007558 -- Yesterday
b=19330    -- Today 

c=`expr ((($b/$a) "*" 100) "-" 100) | bc` 

这不起作用

1 个答案:

答案 0 :(得分:2)

您可以使用以下缩放选项;

c=$(echo "scale=6;((($b/$a) * 100) -100)" | bc)
echo $c

低于或高于%10;你可以尝试如下;

let c=$(echo $(printf %.$2f $(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