https://foro.gambas-es.org/viewtopic.php?f=1&t=1299&p=7491#p7491
-----------------------------------
AGarcia
Sabado, 15 Enero 2011, 19:59

Re: Dudas Al Hacer Un Programa
-----------------------------------
[quote user="soplo" post="7484"]Hola

Tu problema es mas bien de una shell script que otra cosa. Algo como esto.

[code linenumbers=false syntax=bash]ls -lr /media >dd

while read linea
do
#       echo -e $linea | cut -f9 -d" "
        volumen=$(echo "$linea"  |cut -f9 -d" ")
        echo -e $volumen
        trayecto=$("/media/"$volumen)
#       echo -e -$trayecto
        umount $trayecto
done <dd
rm dd
[/code]
Eso teóricamente crea un fichero dd con el contenido de /media luego recorre linea a linea y extrae el nombre del volumen de cada linea. Anexa "media/a ese nombre y lo guarda en un string. Luego desmonta ese string.

No funciona.

He comentado la linea del primer echo porque eso si funciona pero la variable volumen no se calcula bien. Es tarde, mañana miraré que le pasa. Cuando el string volumen se calcule bien con que en gambas llames a ese script ya estará porque esa shell script recorre el contenido de /media y lo desmonta todo.

Eso no quita que si un dispositivo estaba busy no lo desmonte. Supongo que entiendes el riesgo de hacer eso con dispositivos usb.

La otra cosa que puedes hacer tal como hiciste es meter el contenido del ls -lr /media en una variable gambas y recorrerla linea a linea para obtener cada nombre. A cada uno le haces un shell("umount /media/" & varstr) y ya está. Así haces lo que haría la shell script pero en gambas.

Mañana lo miro mejor.[/quote]

Otra manera de hacerlo seria añadir otro formulario en el cual le preguntara al usuario el nombre del pendrive, y copiar el nombre en la orden umount del anterior formulario.
Pero, de nuevo, no se como copiar el contenido el textbox del segundo formulario a la orden umount del principal


