2 votos

Tratando de eliminar los archivos listados en el archivo con AppleScript con do shell script de llamada

El código siguiente es un ejemplo de lo que estoy usando en el momento, pero se mantiene erroring sobre 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 para encontrar la existencia de un archivo (en este caso, Bingo.app) y escribir en un archivo temporal (/tmp/remove_files), que lo hace, y, a continuación, comprobar para ver si el archivo temporal que fue escrito. Si fue así, se va a ver en que archivo temporal, y eliminar cada archivo (especificado por i) en el archivo temporal listado, a continuación, extraiga el archivo temporal en sí.

En su lugar, todo lo que nunca 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

Lo que me estoy perdiendo en esto?

4voto

Justin Love Puntos 3073

Usted necesita para cerrar la for loop:

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

debe ser:

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X