Como encontrar o caminho de uma unidade USB recém-montada dinamicamente?

1

Eu quero um script paralelo ou uma alteração de configurações que ative um segundo script ou script principal que faça o trabalho real. Eu não preciso fazer isso apenas para o meu computador. Por isso deve funcionar em qualquer computador Linux.

Eu preciso conhecer o caminho (e, portanto, o conteúdo) de um USB recém-montado para que eu possa executar um script que use dados no USB para o qual eu precisaria do caminho. Eu li algumas coisas sobre o udev, mas elas não eram suficientemente explicativas. Este comando:

ACTION=="add", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="1234", RUN+="/home/bibi/bin/xyz.sh

definirá um USB para executar o script toda vez que qualquer dispositivo for montado nele. Mas como descubro o caminho do drive USB? (por exemplo, /home/??? )

Obrigado antecipadamente. Desculpe se dados insuficientes ou se eu perdi alguma coisa

    
por NavalRishi 03.09.2014 / 21:18

1 resposta

1

Uma maneira fácil seria usar UUIDs. Cada partição tem um endereço único que você pode usar em seus scripts.

ls -l /dev/disk/by-uuid

Este comando mostra o UUID para cada unidade atualmente montada como um link simbólico para a partição (uma unidade USB pode ter mais de uma partição)

Esses códigos são gerados aleatoriamente e possuem entropia suficiente que provavelmente não colidirão, exceto a partição FAT32 (que possui apenas uma seqüência de oito dígitos hexadecimais, portanto 8 ^ 16 = 281.474.976.710.656 opções)

Você pode querer verificar os comandos blkid e findfs também.

    
por user307382 03.09.2014 / 22:19