这里有一个bash noob。尝试为Home Assistant编写一个单行BLE标签存在检测器(RPI-3上的内置BLE模块显着降低了Home Assistant)。
需要一些帮助来完成这项工作:
$ timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00
发生了什么(或应该发生什么):
但是,此命令不返回任何内容,只返回状态码130($ echo $?)
但这有效:
$ sudo timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00
是的,我已经设置了此主题中描述的缺失上限:https://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root
由于设置的功能,这也可以正常工作(返回检测到的设备列表,在5秒后优雅地被杀死:
$ timeout -s SIGINT 5s hcitool -i hci0 lescan
我做错了什么?为什么grep的管道似乎需要root? (因为我知道它不应该)
致以最诚挚的问候,
斯蒂芬
答案 0 :(得分:0)
啊解决了;)
似乎是执行顺序:)。使用sudo与使用相同的效果:
$ (timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00)