Запись в / dev / kmsg с помощью udev run

Я написал простое правило udev для присвоения имени моему USB-устройству:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyUSB-ZStick-5G"

udev предлагает способы запуска пользовательских сценариев для определенных событий ( ref :

KERNEL=="sdb", RUN+="/usr/bin/my_program"

Однако я бы хотел, чтобы в приведенном выше решении я просто напечатал некоторую информацию, которая будет отображаться в dmesg . Это не та сложность, которая требует отдельного сценария.

Ниже приведено то, над чем я в идеале надеялся работать:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyUSB-ZStick-5G", RUN+="echo 'Made symlink: ttyUSB-ZStick-5G' > /dev/kmsg"

Идеи о том, как это сделать?

0
15.03.2016, 13:50
1 ответ

Как объясняется в руководстве :

Имя программы и следующие аргументы разделяются пробелами. Для указания аргументов с пробелами можно использовать одинарные кавычки.

Строка, переданная в RUN , не передается в оболочку. Он просто разделен на пробелы с помощью грубого механизма цитирования. Если вы хотите выполнить перенаправление, вам нужно вызвать оболочку.

… RUN+="sh -c 'echo Made symlink: ttyUSB-ZStick-5G > /dev/kmsg'"

Вызов сценария будет более понятным.

1
28.01.2020, 02:48

Теги

Похожие вопросы