Come regolare uno script che funziona nel terminale ma non riesce in Automator?

1

Ho messo insieme uno script di shell per utilizzare FFmpeg per convalidare i file video in una cartella e creare un file di registro.

Quando viene eseguito nel terminale da quella cartella, funziona correttamente. Quando lo incorporo in Automator da utilizzare come servizio, non riesce a creare correttamente il file di registro.

Sembra che la sintassi che sto usando causi un problema in Automator, e fallisce quando richiama FFmpeg. Come aggiusto il mio script in Automator per darmi lo stesso risultato ottenuto nel Terminale?

Ecco lo script in Automator:

for f in "$@"
do
    echo "$f"
cd $f
pwd
find -E ./ -regex '.*(.MOV|.MXF|.mp4|.MTS)$' -exec ffmpeg -v error -i {} -map 0:1 -f null - 2>error4.log \;
done

E l'output dal file di registro:

find: ffmpeg: No such file or directory

    
posta Johng 22.09.2016 - 22:28
fonte

1 risposta

0

Questo perché Automator non usa il percorso della tua shell interattiva. Devi specificare la posizione di ffmpeg.

  1. In Terminale, esegui:

    which ffmpeg
    
  2. Sostituisci "ffmpeg" nello script della tua shell di Automator con l'output di questo comando.

risposta data 22.09.2016 - 23:40
fonte

Leggi altre domande sui tag