Мне нужно автоматически запустить мой скрипт /var/www/html/configWWW, когда какой-либо USB подключен к моему Rasperry.
RUDE - /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?
Лучше, если бы вы могли добавить udevadm info -a ... к сообщению. Во всяком случае, здесь несколько вещей, которые я ожидаю:
Установите бит разрешения исполняемого файла сценария. Измените имя файла правила в стандартном формате, например 99-alpha.rules Выделите почтение между SUBSYSTEM и SUBSYSTEMS и между ATTR и ATTRS.Лучше, если бы вы могли добавить udevadm info -a ... к сообщению. Во всяком случае, здесь несколько вещей, которые я ожидаю:
Установите бит разрешения исполняемого файла сценария. Измените имя файла правила в стандартном формате, например 99-alpha.rules Выделите почтение между SUBSYSTEM и SUBSYSTEMS и между ATTR и ATTRS.