Назад | Перейти на главную страницу

Как я могу сообщить скрипту, вызываемому из правила udev, об устройстве, которое запустило правило?

У меня есть правило udev

ACTION=="add", SUBSYSTEM=="block", KERNEL=="vd[c-z]", ENV{DEVICE_NAME}="KERNEL" RUN+="/usr/local/bin/udevtest"

где устройства vd [c-z] запускают правило и вызывают мой скрипт. Я пытаюсь передать точное имя устройства, которое запускает скрипт, с помощью переменной среды $ DEVICE_NAME, но, похоже, вызываемый скрипт не улавливает его.

Как это сделать?

Я пытаюсь написать это для Debian и Ubuntu, поэтому не думаю, что можно использовать udisks2.

Можете ли вы передать ее скрипту в качестве аргумента вместо использования переменной среды? Что-то вроде:

RUN+="/usr/local/bin/udevtest %k"
RUN+="/usr/local/bin/udevtest $KERNEL"

Предполагая, что ваш сценарий может быть изменен для обработки аргументов