Как автоматически определять имя устройства в Linux

194
Oscar Carballal

У меня есть зашифрованный USB-носитель с cryptosetup, чтобы его смонтировать, мне нужно выполнить скрипт, который жестко закодировал (или допускает его в качестве параметра) имя устройства того донга, который ранее вам приходилось искать.

Интересно, есть ли способ с помощью сценариев bash или даже минипрограммы сделать автоопределение имени устройства, оставив рабочий процесс примерно так:

  • Подключите USB-порт
  • Выполнить скрипт
  • Скрипт ищет имя устройства донга и монтирует устройство
  • Cryptosetup запрашивает пароль
  • Устройство смонтировано
1

1 ответ на вопрос

1
terdon

The device name should appear in dmesg. Try something like this:

dev_name="/dev/"`dmesg | perl -ne '/.+\[(.+?)\] Attached/ && do' | tail -n 1` 

Assuming that your USB dongle is the last device attached (hence the tail -n1), this should save the device name as $dev_name.