Come posso eseguire uno script non firmato in Automator

2

Posso eseguire lo script perl rispettato exiftool dalla riga di comando di Terminal e ottenere il risultato desiderato, ma quando lo incorporo in Automator as a Service ottengo un messaggio di errore generico e lo script perl non viene eseguito. Quando cerco nel file system.log trovo: "Impossibile completare l'operazione. (Errore OSStatus -67062.)" Ad esempio, l'oggetto Codice non è firmato.

Esatto, exiftool non è firmato e non c'è nulla che io possa fare al riguardo. Ho dovuto bypassare Gatekeeper per installarlo su Yosemite (10.10.5). Ma lo script è ben noto nei circoli fotografici ed è stato usato da molti per modificare le informazioni EXIF nei file di immagine.

Ho provato ad aggiungere lo script o il flusso di lavoro di Automator a Preferenze di sistema > Sicurezza e amp; Privacy > Privacy > Accessibilità ma il pannello non accetterà neanche.

C'è un modo per dire ad Automator di accettare questo script non firmato o un comando o un interruttore Posso inserire il mio script bash per farlo accettare?

Ecco il mio attuale script di shell:

for f in “$@”
do
exiftool -overwrite_original -AllDates-=1 "$f"
done

Grazie per l'aiuto.

    
posta Bosque Bill 19.11.2015 - 01:10
fonte

2 risposte

1

OK, ho scoperto che c'erano due cose che stavo facendo male e nessuno di loro aveva a che fare con exiftool che non era firmato. Qualcosa sta causando al mio system.log di segnalare 'L'oggetto codice non è firmato' con una certa frequenza, e dopo un ulteriore esame, ho iniziato a sospettare che non fosse il mio script Automator perché sono stati generati anche quando non stavo tentando di eseguire Automator .

Errore 1: nel mio ciclo DO ho incollato le virgolette ricurve, che generava l'errore di script della shell. Sostituendoli con virgolette standard, l'errore di script della shell è andato via.

Errore 2: avevo impostato Pass input come stdin, avrebbe dovuto essere come argomento

Bonus: Phil, l'autore di exiftool, che ha trovato queste risposte che mi avevano sconfitto, ha suggerito una singola riga che è più efficiente del mio ciclo DO e funziona molto bene:

exiftool -overwrite_original -AllDates-=1 "$@"
    
risposta data 20.11.2015 - 00:20
fonte
1

Il exiftool si installa in /usr/bin . Sotto SIP questo non è permesso. Presumo che lo sviluppatore lo cambierà a un certo punto.

Se installi in /usr/local/bin dovrebbe funzionare e non dovrai sovrascrivere nulla.

EDIT Credo che l'ultima sia stata modificata per l'installazione in /usr/local/bin Non mi sono mai preso la briga di installarlo da solo, ho appena eseguito da una directory locale.

    
risposta data 19.11.2015 - 05:51
fonte

Leggi altre domande sui tag