Cómo autodetectar el nombre del dispositivo en Linux

1

Tengo una lengua USB encriptada con cryptosetup, para montarla tengo que ejecutar una secuencia de comandos que ha codificado (o lo admite como parámetro) el nombre del dispositivo de esa lengua que anteriormente tenía que buscar.

Me pregunto si hay alguna manera a través de scripts de bash o incluso haciendo un miniprograma para hacer una autodetección del nombre del dispositivo, dejando el flujo de trabajo más o menos así:

  • Conecte la lengua USB
  • Ejecutar script
  • La secuencia de comandos busca el nombre del dispositivo de la lengua y monta el dispositivo
  • Cryptosetup pide la contraseña
  • El dispositivo está montado
Oscar Carballal
fuente

Respuestas:

1

El nombre del dispositivo debe aparecer en dmesg. Intenta algo como esto:

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

Suponiendo que su dispositivo USB es el último dispositivo conectado (de ahí el tail -n1), esto debería guardar el nombre del dispositivo como $dev_name.

terdon
fuente