правило udev не работает

правило udev не работает

Я пытаюсь написать правило udev для плагина USB-накопителя. Я хочу сначала смонтировать его, /mediaа затем запустить скрипт в /usr/local/bin/script.sh. Когда я вставляю USB, он даже не монтирует устройство с этим правилом. Однако, если я вручную ввожу часть в RUN в терминал, он монтирует и выполняет скрипт.

В файле правил говорится:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh"

Правильный ли это способ выполнить две команды в разделе RUN правила?

решение1

Это неправильный способ выполнения 2 команд. Мне тоже не нравится часть вашего правила, связанная с сопоставлением, но я оставлю ее такой, какая она есть для этого примера. Вы можете сделать:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/sh -c '/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh'"

или

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/", RUN+="/usr/local/bin/script.sh"

но в вашем случае почему бы вам просто не переместить mountкоманду внутрь вашего скрипта?

Связанный контент