我有点小白所以忍耐一下:
我有一个非常基本的脚本来检查RPI的CPU温度,我需要在同一行输出作为与一个网络挂接信使服务报告的要求。输出应该类似于 “54.0°C,129.2°F”。我知道开关追加到回声,-n现有生产线,但因为我的管道华氏转换到bash的钙(BC),我得到一个语法错误,如果我尝试启动该行以“回声-n等。”
我也意识到,我并不真的需要打印°C和°F,但我要求奢华!
这里是我的脚本(如果我不尝试补习班这一切在同一行其中工程神话般):
#!/bin/bash
(
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$((cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % cpuTemp1))
#date
#echo cpu temp in °C and °F
echo -n $cpuTemp1"."$cpuTempM
echo -n "°C,"
echo -n "$cpuTemp1 * 1.8 + 32"|bc
echo "°F"
) > /home/pi/bin/tlog
我收到有错误:
(standard_in) 1: syntax error
所以,问题是这样的;我如何才能在°F在同一行作为转换公式不borking的| BC功能?我肯定的| BC是问题,因为脚本运行正常,如果我删除它,但它不为我做数学题。 =(
任何帮助表示赞赏,感谢。
正如你已经发现,bc
想要一个正确端接线路。那么,为什么我们不给它一个?
我们可以重新安排你的代码先完成所有的计算,然后在年底做一个单一的回声:
#!/bin/bash
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$((cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % cpuTemp1))
tempF=$(echo "$cpuTemp1 * 1.8 + 32"|bc)
echo -n "${cpuTemp1}.${cpuTempM}°C,${tempF}°F" > /home/pi/bin/tlog