我在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或者最后的某些内容?
答案 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