2012-01-03 13 views
5

Estoy intentando crear un script bash automatizado que rellene un archivo con urandom en el almacenamiento flash de la unidad. Puedo usar manualmente todos los comandos para que esto ocurra, pero estoy tratando de crear un script y tener dificultades para averiguar cómo verificar el dispositivo usb. Sé que será sda1 o sdb1, pero no estoy seguro de si el código siguiente es suficiente ... ¡Gracias! A continuación, se muestra el código:Cómo verificar el dispositivo usb con instrucción if en bash

if /dev/sda1 
then 
     mount -t vfat /dev/sda1 /media/usbkey 
else 
     mount -t vfat /dev/sdb1 /media/usbkey 
fi 
+0

La forma en que las secuencias de comandos de las unidades de montaje se instalan es primero colocar un archivo en el disco, p. Ej. "Iamthemountabledrive.txt", luego verifica la existencia de ese archivo. Si no está allí, entonces montaré la unidad. Utilizo esta técnica para asegurarme de que un servidor de audio esté montado para una red de 5 estaciones de radio, verificando cada minuto en caso de que haya un evento de interrupción de la red. –

+0

@MattH ¿Cómo se comprueba la existencia del archivo ("lamthemountabledrive.txt") en una unidad dentro de su secuencia de comandos bash si la unidad ya no está montada? – suffa

+0

'testfile ="/dev/usbdrive/Iamthedrive.txt " if [-e" $ testfile "] then echo" se monta la unidad. " fi' –

Respuesta

6

Se puede montar por etiqueta o UUID y por lo tanto reducir la complejidad de la secuencia de comandos. Por ejemplo si su almacenamiento flash tiene etiqueta MyLabel (Se puede fijar y etiquetas de visualización usando VFAT mtools 'mlabel):

$ sudo mount LABEL=MYLABEL /media/usbkey 
6

La forma en que las unidades de guión montables es poner primero un archivo en el disco, por ejemplo, "Iamthemountabledrive.txt", luego verifica la existencia de ese archivo. Si no está allí, entonces montaré la unidad. Utilizo esta técnica para asegurarme de que un servidor de audio esté montado para una red de 5 estaciones de radio, verificando cada minuto en caso de que haya un evento de interrupción de la red.

testfile="/dev/usbdrive/Iamthedrive.txt" 
if [ -e "$testfile" ] 
then 
    echo "drive is mounted." 
fi 
Cuestiones relacionadas