将温度从Witty pi 2导出到日志文件

时间:2017-07-01 18:38:02

标签: awk grep

我在RPI3上安装了一个机智的pi 2 但我想将温度从它导出到特定文件

我可以运行一个名为witty.sh的脚本然后我需要按8或Ctrl + C退出

1000

我想要的只是导出第一行。

我试过

>>> Current temperature: 33.50°C / 92.3°F
>>> Your system time is: Sat 01 Jul 2017 20:29:46 CEST
>>> Your RTC time is:    Sat 01 Jul 2017 20:29:46 CEST
Now you can:
  1. Write system time to RTC
  2. Write RTC time to system
  3. Synchronize time
  4. Schedule next shutdown [25 15:04:00]
  5. Schedule next startup  [25 15:05:00]
  6. Choose schedule script
  7. Reset data...
  8. Exit
What do you want to do? (1~8)

但它问了我一个数字,然后在temp.log中给出了临时文件

是否可以插入一些额外的代码来生成Ctrl + C或者最后的某些内容?

2 个答案:

答案 0 :(得分:0)

也许更好的方法是查看" utilities.sh"中的get_temperature()函数。文件,看看它是如何实现的。它只涉及一些I2C通信。

答案 1 :(得分:0)

只需使用here字符串提供输入:

$ cat tst.sh
echo "Type something:" >&2
read foo
echo "$foo"

$ ./tst.sh <<<stuff | sed 's/u/X/'
Type something:
stXff

如果你的shell不支持这里的字符串,那么请改用here here:

$ ./tst.sh <<EOF | sed 's/u/X/'
> stuff
> EOF
Type something:
stXff

所以你会这样做(当你使用awk时你永远不需要grep):

sudo ./wittyPi.sh <<<8 | awk '/Current/{ print $4 }' > temp.log

或:

sudo ./wittyPi.sh <<<8 | awk 'NR==1{ print $4 }' > temp.log