1

Я пишу сценарий bash, который должен определить, когда вставлено USB-устройство хранения данных, и назначить его переменной, которая в противном случае обычно выглядит примерно так: usb=/dev/sdb .

У меня есть несколько абстрактных идей, которые включают использование watch , некоторую циклическую конструкцию if / while и, возможно, lsblk -o kname / lsblk -o pkname ; но мне еще предстоит полностью осознать что-либо подходящее.

Как лучше всего это реализовать?

1 ответ1

1

Вы можете запустить скрипт, используя UDEV . «udev также обрабатывает все события пользовательского пространства, возникающие при добавлении или удалении аппаратных устройств в систему» (из http://wiki.archlinux.org/index.php/Udev).

Внутри файла с именем: /etc/udev/rules.d/10-usb.rules добавьте следующее:

KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", RUN+="/path/to/script.sh"

Примечание. Возможно, вам придется немного изменить расположение файла в зависимости от вашего дистрибутива. Также обратите внимание: вам может потребоваться перезагрузка, прежде чем правило вступит в силу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .