Cercando di rimuovere i file elencati nel file con AppleScript con la chiamata allo script di shell

2

Il seguente codice è un esempio di ciò che sto usando al momento, ma continua a generare errori su di me:

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

Si suppone di trovare l'esistenza di un file (in questo caso, Bingo.app ) e di scriverlo in un file temporaneo (/ tmp / remove_files) , che lo fa, quindi controlla se il file temporaneo è stato scritto. Se lo fosse, esaminerà quel file temporaneo e cancellerà ogni file (specificato da i ) nell'elenco dei file temporanei, quindi rimuoverà il file temporaneo stesso.

Invece, tutto ciò che fa è restituire un errore:

/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

Cosa mi manca in questo?

    
posta Danijel-James W 17.11.2013 - 10:49
fonte

1 risposta

4

Devi chiudere il ciclo for :

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

dovrebbe essere:

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

Leggi altre domande sui tag