2017-01-31 12 views
0

Баш noob здесь. Попытка написать однострочный детектор присутствия тегов BLE для Home Assistant (встроенный модуль BLE на RPI-3 значительно замедляет работу помощника по дому).Тайм-аут трубопровода cmd to grep нуждается в корне

Нужна помощь, чтобы эта работа:

$ timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00 

Что происходит (или что должно случаться):

  1. hcitool запускаются в течение 5 секунд (после 5s убит грациозно)
  2. выхода есть отводят до grep для обнаружения одного конкретного MAC
  3. команда возвращает согласованный mac

$ sudo timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00 

И да, я уже выставиться недостающие колпачки, описанными в этом:

Однако, эта команда ничего, только StatusCode 130 (? $ Эха $)

Это работает, однако, не вернуться Тема: https://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root

из-за выставиться возможностей, это также работает как надо (возвращает список обнаруженных устройств, убитый грациозно через 5 секунд:

$ timeout -s SIGINT 5s hcitool -i hci0 lescan 

Что я делаю неправильно? Почему кажется, что трубопроводы для grep нуждаются в корне? (Потому что я знаю, что это не должно)

С наилучшими пожеланиями,

Стефан

ответ

0

А решить ее;)

Кажется последовательности exection :). Использование sudo имеет тот же эффект, что и использование:

$ (timeout -s SIGINT 5s hcitool -i hci0 lescan | grep 00:00:00:00:00:00)