Виявлення нових USB-пристроїв за допомогою bash?


1

Я пишу Баш скрипт , який повинен визначити , коли USB-накопичувач вставляється і привласнити його змінної , яка б в іншому випадку, як правило , виглядає приблизно так: usb=/dev/sdb.

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

Як найкраще я міг це здійснити?

Відповіді:


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"

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.