4 votos

¿Cómo puedo hacer eco del shell script en Automator?

Tengo un servicio de Automator que ejecuta un shell script (comando ffmpeg).
Estoy buscando una manera de ver la salida de la terminal mientras ffmpeg hace lo suyo.
Añadir echo al comando ffmpeg no funciona. He leído que esto se puede lograr utilizando AppleScript pero deseo permanecer en bash si es posible.
Además, la presentación de una barra de progreso de la transcodificación sería simplemente impresionante.
Así es como se ve mi acción de Automator:
enter image description here

0 votos

El problema podría estar más bien relacionado con Automator (porque la ejecución de ffmpeg directamente en el shell produce la salida). Entonces, ¿hay alguna razón específica por la que usas Automator (en lugar de un shell script) en primer lugar?

0 votos

Además, ¿puede añadir una captura de pantalla de su flujo de trabajo de Automator a la pregunta (utilice el botón de edición de la parte inferior para hacerlo)?

0 votos

El servicio Automator me permite hacer clic con el botón derecho en un archivo multimedia para iniciar el trabajo de codificación. También pido al usuario un directorio de destino para el archivo codificado.

3voto

Douglas Puntos 10417

Para conseguir que tu shell (bash) script</strkeep><strkeep> como lo haría normalmente.

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

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

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

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

Tenga en cuenta que si tiene alguna cadena con espacios que necesite pasar, DEBE estar encerrada en comillas simples . Las comillas dobles causarán un error en AppleScript.

Cuando se ejecuta el script, se abrirá una ventana de Terminal y cualquier cosa que obtenga salida se mostrará en la pantalla.

0 votos

En la consola, no veo ninguna salida de ffmpeg ni de bash. Veo "Automator Runner" y "WindowServer"... Además, ¿cómo se "emite el contenido de la variable"? ¿Acción de ver resultados? ¿Quizás la acción de Mostrar Notificación?

0 votos

Ups... se me olvidó añadir la redirección a consola. He editado por respuesta.

0 votos

Su ayuda es muy apreciada. Pero, la consola sigue sin mostrar ninguna salida relacionada con ffmpeg durante la ejecución. ¿Necesito establecer una trampa o algo para el proceso de antemano? Además, tu sugerencia de establecer el comando como una variable no me da la salida deseada mientras se ejecuta después de el proceso ha terminado, por lo que no me da el estado en tiempo real de la conversión :(

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