ここにbash noobがあります。ホームアシスタント用の1行のBLEタグ存在検出機能を書き込もうとしています(RPI-3のBLEモジュールをビルドすると、ホームアシスタントが大幅に遅くなります)。配管タイムアウトcmd to grep need root
この作業を取得いくつかの助けが必要:
$ timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00
何が起こっている(または何が起こってしなければならない):
- (5Sが優雅に殺された後)hcitoolが5秒間に実行される
- 出力されます特定のMACを検出するためにgrepにパイプされました
- コマンドは一致するMACを返します
しかし、このコマンドはこれがしかし働くもの、のみからstatusCode 130($エコー$?)
を返しません:
$ sudo timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00
そして、はい、私はすでに、この中で説明行方不明のキャップをsettedスレッド:のでsetted能力のhttps://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root
、それは(5秒後に優雅に殺され、検出されたデバイスのリストを返す必要があるとして、これも動作します:
$ timeout -s SIGINT 5s hcitool -i hci0 lescan
私は間違っていますか?なぜgrepへの配管は根を必要とするのでしょうか?
敬具
(私はそれがいけない知っているので)、ステファン