Почему мое правило udev не работает?

Мне нужно автоматически запускать мой скрипт /var/www/html/configWWW, когда к моему Rasperry подключен любой USB.

UDEV RULE - /etc/udev/rules.d/myRule.rules

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="****",
ATTR{idProduct}=="****", RUN+="/var/www/html/configWWW"

МОЙ СЦЕНАРИЙ /var/www/html/configWWW

#!/bin/bash
file="/media/pi/`ls /media/pi`/SymSif.xml"
if [ -f "$file" ]
then
        (
        echo "it works: $(date)" >> /home/pi/Desktop/test.txt
        )
else
        (
        echo "it does not works: $(date)" >> /home/pi/Desktop/test.txt
        )
fi

С другой стороны, если я запускаю скрипт из bash bash /var/www/html/configWWW, он работает!

Почему мое правило udev не работает как моя команда bash?

1
задан 18 December 2017 в 13:32

1 ответ

Лучше, если бы вы могли добавить udevadm info -a ... к сообщению. В любом случае, вот несколько вещей, которые я ожидаю:

  • Установить бит разрешения исполняемого скрипта.
  • Измените имя файла правила на стандартный формат, например 99-alpha.rules
  • Проверьте разницу между SUBSYSTEM и SUBSYSTEMS и между ATTR и ATTRS.
0
ответ дан 18 December 2017 в 13:32

Другие вопросы по тегам:

Похожие вопросы: