Не может запустить скрипт с помощью udev правила

Если Вы не возражаете изменять вывод, можно сделать следующее:

$ grep "^2" *|awk '{print $1}'|uniq -c
      2 FILE_1:2
      3 FILE_2:2

Если Вы хотите свой вывод ПЕЧАТИ:

$ grep "^2" *|awk '{print $1}'|uniq -c|sed 's/:2//'|awk '{print $2, $1}'
FILE_1 2
FILE_2 3
4
06.02.2014, 13:09
2 ответа
[112500] Просто пара глупых ошибок с моей стороны. Ниже приведены причины, по которым ни один вывод[12198]udev не выдает вывод ни на какой терминал/уведомление. Я нашел его [113136]здесь [113137]! [12199]udev не запускает эти программы ни на одном активном терминале, и не выполняет их в контексте оболочки. Убедитесь, что ваша программа помечена как исполняемая, если это скрипт оболочки, убедитесь, что она начинается с соответствующего shebang (например, #!/bin/sh), и не ожидайте, что на вашем терминале появится какой-нибудь стандартный вывод.[12200]для перенаправления вывода в файл, я использовал ~ вместо всего пути к домашнему каталогу пользователя. Изменив его на абсолютный путь, вы получите результат. Для записи, я поместил свое правило под [113138]12-hf-usb.rules[113139]. Единственная проблема, с которой я столкнулся, это то, что скрипт выполняется дважды, даже после использования [113140]RUN=[113141]. Я отредактирую ответ, как только найду его. Похоже, что мне нужно сделать правило более конкретным, чтобы оно совпадало только с одним устройством. На данный момент для меня это не важно, поэтому я пропущу его[12201]Многие люди сталкиваются с проблемами при использовании udev. Вот некоторая помощь в преодолении проблем:[12202]udevinfo[112991] и связанные с ним инструменты были заменены на [112992]udevadm[112993]. Ниже приведены некоторые полезные команды:[12203]udevadm monitor --udev[113143] для просмотра активности udev при добавлении/удалении оборудования в режиме реального времени [12204]lsusb[113145] для просмотра подключенных usb устройств [12205]udevadm info --attribute-walk --name /dev/sdc?[113147] для просмотра иерархической информации об устройствах [12206] Source: [113000]http://www.jpichon.net/blog/2011/12/debugging-udev-rules/[12207]
7
27.01.2020, 20:47

Относительно двойного запуска скрипта.

Это происходит из-за того, что сценарий выполняется для событий sdc и sdc1 . Чтобы исправить это, используйте правило udev с ATTR {partition}. например:

 ACTION=="add", SUBSYSTEM=="block", ATTR{partition}=="*", RUN+=...
5
27.01.2020, 20:47

Теги

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