У меня есть следующие udev
правило
в /etc/udev/rules.d/80-foo_usb.rules
для обнаружения флеш-накопителей,
KERNEL=="[a-z][a-z][a-z][1-9]", SUBSYSTEM=="block", ACTION=="add", PROGRAM+="/test/foo.sh $kernel $parent"
Оно просто отлично работает, за исключением некоторых ложных срабатываний, оно выполняется много раз после загрузки. Как я могу пропустить выполнение этого правила при загрузке?
Этот вопрос аналогичен этому вопросу
Спасибо за ваше время!
Я нашел решение! Я изменил udev
rule
, чтобы проверить DEVPATH
с помощью regex
так:
KERNEL=="[a-z][a-z][a-z][1-9]", SUBSYSTEM=="block", ACTION=="add", DEVPATH=="*[/]usb[1-9][/]*", PROGRAM+="/opt/MicroWorld/bin/foo.sh $kernel $parent"
Возможно, вы могли бы добавить фразу начального соответствия для запуска программы, чтобы определить, включать правило или нет. Хотя я не совсем понимаю, как вы хотите определить, является ли это "временем загрузки" (правило отключено) или нет (правило включено). В остальном, фактическое добавление строки udev будет выглядеть следующим образом:
PROGRAM="/usr/local/bin/notboottime",KERNEL....
Проверьте man udev
для подробностей об этом ключе соответствия.