Intentando eliminar los archivos enumerados en el archivo con AppleScript con la llamada del shell do shell

2

El siguiente código es un ejemplo de lo que estoy usando en este momento, pero sigue apareciendo errores en mí:

do shell script "find /Applications -name 'Bingo.app' > /tmp/remove_files" with administrator privileges
if exists "/tmp_malware_alternate" then
    do shell script ("for i in 'cat /tmp/remove_files'; do rm -rf $i") with administrator privileges
    do shell script "rm -rf /tmp/remove_files" with administrator privileges
end if

Se supone que encuentra la existencia de un archivo (en este caso, Bingo.app ) y lo escribe en un archivo temporal (/ tmp / remove_files) , que lo hace, y luego verifica si el archivo temporal fue escrito. Si lo fue, buscará ese archivo temporal y eliminará cada archivo (especificado por i ) en la lista de archivos temporales, luego eliminará el archivo temporal en sí mismo.

En cambio, todo lo que hace es devolver un error:

/bin/sh: -c: line 1: syntax error: unexpected end of file

o

error "/bin/sh: -c: line 1: syntax error: unexpected end of file" number 2

¿Qué me estoy perdiendo en esto?

    
pregunta Danijel-James W 17.11.2013 - 10:49

1 respuesta

4

Debe cerrar el bucle for :

do shell script ("for i in \'cat /tmp/remove_files\'; do rm -rf $i") with administrator privileges

debería ser:

do shell script ("for i in \'cat /tmp/remove_files\'; do rm -rf $i; done") with administrator privileges
    
respondido por el Vincent 17.11.2013 - 15:44

Lea otras preguntas en las etiquetas