передача параметров в правило udev

Я прописал в udev 2 правила для usb add и remove в 2 файлах.

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added %b"
SUBSYSTEM=="usb", ACTION=="remove", RUN+="/u/usb_remove %b"

Я создал два разных сценария для этих правил, которые выполняют соответствующие действия (делают одно и то же).

Я хочу объединить эти правила (а затем сценарий действия), передав значения (добавить, удалить), а затем проверить новый сценарий с помощью условия if. а затем принять соответствующие меры.

поэтому мой вопрос в том, как я могу передать параметры в RUN+= "/u/usb_status ??"

как я получу эти параметры в новом скрипте, а затем использую условие if.

заранее спасибо.


person user115079    schedule 23.04.2012    source источник


Ответы (2)


Я решил это, просто написав слово после выполнения скрипта.

Например:

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added Parameter %b"

Поэтому я просто использовал его как:

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added ADDED %b"

и при выполнении скрипта (в данном случае usb_added) я получил следующее:

CHECK=$@

Теперь значение этой ПРОВЕРКИ «ДОБАВЛЕНО», что фактически было передано из правила Udev.

person user115079    schedule 28.04.2012

Насколько я знаю, вы можете сделать так:

SUBSYSTEM=="usb", RUN+="scripts %b"

А затем в сценариях используйте это:

if [ $ACTION == "add" ];then
  .....
elif [ $ACTION == "remove" ]lthen
  .....

Но это кажется ограничением версии udev... Я не знаю, попробуйте.

person Rainlight    schedule 26.04.2012
comment
не могли бы вы объяснить, какова цель %b? - person user115079; 27.04.2012