Wie man den Gerätenamen in Linux automatisch erkennt

272
Oscar Carballal

Ich habe einen verschlüsselten USB-Dongle mit Cryptosetup. Zum Einhängen muss ein Skript ausgeführt werden, das den Gerätenamen des zuvor durchsuchten Dings, den Sie zuvor suchen mussten, fest codiert (oder als Parameter zulässt).

Ich frage mich, ob es eine Möglichkeit gibt, über bash-Scripting oder sogar über ein Miniprogramm eine automatische Erkennung des Gerätenamens vorzunehmen und den Workflow so zu belassen:

  • USB-Dongle anschließen
  • Skript ausführen
  • Das Skript sucht nach dem Gerätenamen der Dunge und stellt das Gerät bereit
  • Cryptosetup fragt nach dem Passwort
  • Gerät ist montiert
1

1 Antwort auf die Frage

1
terdon

Der Gerätename sollte in erscheinen dmesg. Versuchen Sie etwas so:

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

Angenommen, Ihr USB-Dongle ist das letzte angeschlossene Gerät (daher das tail -n1), sollte der Gerätename unter gespeichert werden $dev_name.