Usar ficheros en shell

Imagen de Ingar
0 puntos

Hola, estoy empezando a hacer scripts.
Creo que si pongo lo que estoy haciendo ayudara mejor a entender lo que quiero hacer y no consigo.

Tengo un fichero donde que supuestamente se crea cuando se monta un usb en el ordenador donde se almacena el nombre del dispositivo conectado.
cat usb.txt
Mi_USB

En otro script estoy haciendo lo siguiente para copiar todas las imágenes .jpeg automáticamente

#!/bin/bash
while read linea
do
cp /media/$linea/*.jpeg home/pc/imagenes
done < usb.txt

El problema es que $linea parece que no lo entiende y me da un error en el comando cp, en cambio he probado a poner en el terminal cp /media/Mi_USB/*.jpeg home/pc/imagenes y si que me ha copiado las imágenes.
Si alguien me pudiera decir porque no funciona estaría muy agradecido.

Imagen de .doc
+1
0
-1

de momento, no sería 'cp /media/$linea/*.jpeg home/pc/imagenes' sino
cp /media/$linea/*.jpeg /home/pc/imagenes
(con barra antes de 'home')

+1
0
-1
Imagen de Ingar
+1
0
-1

tambien lo he probado pero me sigue dando el mismo fallo, no me reconoce $linea :/

+1
0
-1
Imagen de rioport
+1
0
-1

... parece que no lo entiende y me da un error en el comando cp

¿exactamente cuál es el error?

+1
0
-1

-- GC --

Imagen de pwned
+1
0
-1

La cosa esta clara, si te da fallo en esa variable, es que el contenido de la variable esta mal o no es el que tu crees que es. Creo recordar que cuando usaba el automount los dispositivos los montaba en un directorio con números aleatorios. Haz un `ls' a /media y verifica que el nombre que tienes en el archivo es realmente el directorio donde te lo montó.

+1
0
-1
Imagen de XNoEX011
+1
0
-1

Yo hago esto para copiar a un directorio desde un script
cp /media/$linea/*.jpg ~/Imagenes/

+1
0
-1
Imagen de Ingar
+1
0
-1

Lo siento por tardar tanto en contestar, gracias a todos por la ayuda, explico un poco de nuevo, resulta que después de unos cuantos días investigando encontré un script que lee el usb cuando hay algo conectado, lo modifiqué un poco porque funcionaba con rsync y yo lo hice un poco mas sencillo para mi nivel, cree un demonio (esto tambien investigue como y donde poner el script) y cada 5 segundos se ejecuta el siguiente script

http://imageshack.us/photo/my-images/254/screenshot147.png/

Una vez conseguido copiar todo lo del USB a una carpeta y renombrarse la foto por la fecha es que no para de copiarse hasta que extraes el USB, se me ocurrió una vez hace la copia que se desmontara la unidad USB en cuestión pero con umount se vuelve a montar y vuelta a copiar todo encima una y otra vez cada 5 segundos.
Seguí buscando y encontré que modificando un fichero de ubuntu llamado polkit-gnome-authorization podías desmontar el USB en cuestión y cada vez que se desconectara y se volviera a conectar el USB te pidiera confirmación para montarlo, resulta que he buscado en las direcciones /usr/bin/ que se supone que esta ahi pero no existe.

En resumen, lo que hace el script es modificar las fotos que copia del USB y les cambia el nombre por su fecha y hora de creación y no para nunca.
Bien después de todo esto, planteo una nueva pregunta.
Si no tengo este fichero polkit-gnome-authorization , alguien me puede decir donde encontrarlo? o si hay que instalar algo? o algun otro metodo?

Gracias de nuevo por la ayuda y lo siento por tardar, se aprende bastante buscando, tampoco quería preguntar sin saber de que me hablabais

+1
0
-1
Imagen de razaAztk
+1
0
-1

............ Aún no entiendo muy bien lo que quieres; pero........

Puedes hacer que cuando termine de copiar todas las imagenes te cree un fichero con un nombre especifico en la USB; por ejemplo TODO_COPIADO.txt que te servira como bandera. En tu demonios pones que si existe ese fichero en la memoria entonces no copiar nada.

Saludos!

+1
0
-1

void hey(int x,int y)
{
if (x && y)
 printf("http://libertadhack.blogspot.com/");
else
 printf("http://libertadpunk.blogspot.com/");
}