我在 Raspberry Pi 上从蓝牙低功耗温度计提取数据并将其传递到 MQTT 服务器,尽管我可以用 Python 完成此操作,但我想学习一些命令行脚本 (Bash),但不知道从哪里开始。
我发出的命令是
gatttool -b A4:C1:38:40:15:51 --char-read --handle=0x000e
假设已建立连接,我会得到文本形式的答案:
Characteristic value/descriptor: 47
问题是我应该搜索什么工具来分割线并提取值(0x47)?
请不要向我提供代码但有关您将使用的命令的提示,以便我可以通过执行来进行搜索和学习:-) 我已经学到了足够的知识来理解$?
返回值,因此这if
是错误处理的下一步。
我很感激有很多方法可以做到这一点(我认为比这个问题的可能读者多一种),因为搜索已经出现sed,awk和珀尔但有时我需要一个通往 Linux 山脉的方向,然后才能找到隧道,然后找到尽头的光明:-)
答案1
要学习脚本编写,您需要学习最常用的工具以及一些bash
特定的语法。
您在这里需要的东西是:
bash
:
variable=$(command)
将命令的输出 (STDOUT) 放入变量中。
echo "$variable"
打印变量的内容。
command1 | command2
使用 的输出command1
作为 的输入command2
此处有用的命令:
cut
sed
grep
(大概)
对于sed
,您将需要深入研究正则表达式。如果您认真对待脚本编写,那绝对不会浪费时间。如果有关正则表达式(我们亲切地称呼它们)的信息量似乎难以逾越,那么值得知道的是,我们中的许多人在这里看到的答案再次教会了他们一些有关正则表达式的新知识。