shell变量运算和赋值问题
我在做一个电量表,先用arduino做一个web server,把功率读数放在web server上,就是192.168.0.198. 这个功率读数只是一个三位数的数字,没有header。再用树莓派读取这个web server的功率读数,除以1000后用curl发送出去。
现在碰到下面的问题,shell 变量/1000再赋值的时候出错。下面是树莓派的代码。
不知道运算和赋值怎么处理。
#!/bin/bash
while true
do
#读取网页的数值,存为log。 执行正确
wget 192.168.0.198 -O log
#读取log中的数值,赋值给变量VALUE。执行正确
while read VALUE
do
echo "VALUE is "
done < log
#result赋值为 VALUE/1000 赋值不成功,什么值也没有
result="scale=3;${VALUE}/1000"|bc
#发送result的值 执行正确
curl -X POST -d "3315472,$result" http://MjxxxjYyOTdi:@plotwatt.com/api/v2/push_readings
rm log
sleep 10
done result="scale=3;${VALUE}/1000"|bc
|bc 是什么意思?看不懂 Jerry 发表于 2015-5-8 13:06 static/image/common/back.gif
result="scale=3;${VALUE}/1000"|bc
|bc 是什么意思?看不懂
shell默认的运算都是整数的,不能计算浮点数。
加上bc就可以运算浮点数了。 result=`echo "scale=3;${VALUE}/1000"|bc`
页:
[1]