3 votos

Cómo ajustar un script que funciona en el Terminal, pero falla en Automator?

He estado juntando un script de shell para usar FFmpeg para validar los archivos de vídeo en una carpeta y crear un archivo de registro.

Cuando se ejecuta en el terminal de esa carpeta, funciona bien. Cuando me incorpore en Automator para su uso como un servicio, no puede crear el archivo de registro correctamente.

Parece que la sintaxis estoy usando hace que un problema en Automator, y en su defecto como se invoca FFmpeg. ¿Cómo puedo ajustar mi script de Automator que me dé el mismo resultado que tengo en el Terminal?

Aquí está el script de 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

Y la salida desde el archivo de registro:

encontrar: ffmpeg: No existe el fichero o el directorio

Automator Screenshot

x8qSR.png

0voto

siva Puntos 23

Esto es debido a que Automator no uso interactivo de la ruta del shell. Usted necesita especificar la ubicación de ffmpeg.

  1. En la Terminal, ejecute:

    which ffmpeg
    
  2. Reemplazar el 'ffmpeg' en su Automator script de shell con la salida de este comando.

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