小弟在写测试script时, 在使用eval上遇到了一些问题, 想请教:
因为Cmp${Num}_F代入的数值是小数, 所以又增加了bc来辅助, Code如下:
需求是判断Cmp${Num}_F是否介于LOWER与UPPER之间,
但是在变量$Cmp${Num}_F放到if里面的时候出了错误, 请问我该怎么在if里面使用这类型的变量?
##COMPARISON
Amount=5
UPPER=1234.567
LOWER=12.3456
for ((Num=1 ; Num<Amount; Num++))
do
eval Cmp${Num}_F=$(cat xxx.log |grep Cmp${Num}_F |awk 'print $2')
done
for (( Num=1 ; Num<$Amount ; Num++ ))
do
if [ `echo "`$Cmp${Num}_F` > $UPPER"|bc` -eq 1 ] || [ `echo "`$Cmp${Num}_F` < $LOWER"|bc` -eq 1 ]; then
echo " Data in Range `eval echo '$'Cmp${Num}_F` Front: ($LOWER ~ $UPPER) "
else
echo " Data Not in Range"
fi
done