¿Cómo puedo repetir el script de Shell en Automator?

Tengo un servicio de Automator que ejecuta un script de shell (comando ffmpeg).
Estoy buscando una manera de ver la salida de la terminal mientras ffmpeg hace lo suyo.
Agregar echoal comando ffmpeg no funciona. Leí que esto se puede lograr usando AppleScript, pero deseo permanecer en bash si es posible.
Además, presentar una barra de progreso de la transcodificación sería simplemente increíble.
Así es como se ve mi acción de Automator:
ingrese la descripción de la imagen aquí

El problema podría estar más bien relacionado con Automator (porque ejecutar ffmpeg directamente en el shell produce una salida). Entonces, ¿hay alguna razón específica por la que use Automator (en lugar de un script de shell) en primer lugar?
Además, ¿puede agregar una captura de pantalla de su flujo de trabajo de Automator a la pregunta (use el botón de edición en la parte inferior para hacerlo)?
El servicio de Automator me permite hacer clic derecho en un archivo multimedia para iniciar el trabajo de codificación. También solicito al usuario un directorio de destino para el archivo codificado.

Respuestas (1)

Para que su script de shell (bash) se muestre continuamente en la pantalla para que pueda ver el progreso, debe iniciarlo desde AppleScript. Básicamente, este es un script que está iniciando otro script. Use la secuencia de comandos a continuación para iniciar la secuencia de comandos que contiene su comando ffmpeg. Incluso puede pasar argumentos a su secuencia de comandos como lo haría normalmente.

Para este ejemplo, tengo un script bash simple que imprime el primer argumento de la línea de comando.

#! /bin/bash
# test.sh
echo $1
exit

A continuación, está el código AppleScript que inicia el script bash.

tell application "Terminal"
   do script "<path>/test.sh 'Hello World'; exit"
   activate
end tell

Tenga en cuenta que si tiene cadenas con espacios que necesita pasar, DEBEN estar entre comillas simples . Las comillas dobles provocarán un error en AppleScript.

Cuando ejecute la secuencia de comandos, se abrirá una ventana de Terminal y todo lo que obtenga resultados se mostrará en la pantalla.

En Console, no veo ninguna salida ffmpeg ni bash. Veo "Automator Runner" y "WindowServer"... Además, ¿cómo "daría salida al contenido de la variable"? Ver acción de resultados? ¿Tal vez Mostrar acción de notificación?
Vaya... Olvidé agregar la redirección a la consola. Edité por respuesta.
Su ayuda es muy apreciada. Pero, Console aún no muestra ningún resultado relacionado con ffmpeg durante la ejecución. ¿Necesito tender una trampa o algo para el proceso de antemano? Además, su sugerencia de configurar el comando como una variable no me da el resultado deseado, ya que se ejecuta después de que finaliza el proceso, por lo que no me da el estado en tiempo real de la conversión :(
Si redirige la salida a un archivo, solo para probar, ¿funciona? Simplemente agregue > test.txt al final del archivo ffmpeg.
No relacioné la "barra de progreso" con querer ver la salida en tiempo real. Revisé mi respuesta: esto debería mostrar el resultado solicitado.
Gracias @Allan. En su ejemplo, ¿cómo pasaría las variables de Automator (carpeta de destino y archivo de entrada) al script? Estoy empezando a aceptar el hecho de que debería usar AppleScript...
Los pasarías como lo harías normalmente. Agregué a la respuesta para que puedas ver cómo funciona.