PDA

View Full Version : qualcuno mi spiega perchè questo script nn va?


Mory
26-11-2004, 00:41
Serve per fare l'hotplug di un dispositivo usb al momento della connessione, un po' quello che fa windows.
Solo che il punto di mount me lo crea, la directory pure ma nn mi monta il dispositivo. Se però entro in console e scrivo "mount /dev/usbmp3" me lo monta.
Quando lo scollego invece funziona, smonta e cancella nodo e directory.
Sembra quindi che nn vuole fare il mount tramite script, è possibile?

#!/bin/bash
set > /tmp/usb-storage-vars
case "$ACTION" in
add)
case "$PRODUCT" in
d7d/150/100)
[ -e /dev/usbmp3 ] && rm /dev/usbmp3
mknod /dev/usbmp3 b 8 1
chmod 660 /dev/usbmp3
mkdir /mnt/usbmp3
mount /dev/usbmp3
echo "#!/bin/bash" > $REMOVER
echo "umount /dev/usbmp3" >> $REMOVER
echo "rm /dev/usbmp3" >> $REMOVER
echo "rmdir /mnt/usbmp3" >> $REMOVER
chmod 775 $REMOVER
;;
esac
;;
esac

Psycotic
26-11-2004, 09:33
mount /dev/usbmp3
mount vabbe' si.. ma dove lo monti?
se usi fstab invece del device devi mettere sola la destinazione..
se nn e' citato in fstab devi mettere sia il device che il mount point...

cmq se il problema dello script persiste utilizza -x

#!/bin/bash -x

cosi' vedi che strada fa'..

Mory
26-11-2004, 12:01
Risolto il problema. Bastava mettere uno sleep perchè era troppo veloce e nn riusciva a montare.
Lo script così funziona perfettamente! Se qualcuno ha qualche consiglio me lo faccia sapere ;) Nel file fstab ovviamente ci deve essere la riga con il riferimento al dispositivo che contenga anche sync come opzione

#!/bin/bash
set > /tmp/usb-storage-vars
case "$ACTION" in
add)
case "$PRODUCT" in
d7d/150/100)
[ -e /dev/usbmp3 ] && rm /dev/usbmp3
mknod /dev/usbmp3 b 8 1
chmod 660 /dev/usbmp3
mkdir /mnt/usbmp3
sleep 2
mount /dev/usbmp3
echo "#!/bin/bash" > $REMOVER
echo "umount /dev/usbmp3" >> $REMOVER
echo "rm /dev/usbmp3" >> $REMOVER
echo "rmdir /mnt/usbmp3" >> $REMOVER
chmod 775 $REMOVER
;;
esac
;;
esac