Los scripts/commands de Shell en AppleScript se manejan con el do shell script
command, el cual ejecuta un shell script usando el sh
shell. En su forma corta:
do shell script "..."
Donde ...
es el shell script que se desea ejecutar.
Consulte la Guía de Lenguaje de AppleScript Referencia de Comandos do shell script
y la Nota Técnica TN2065 do shell script
en AppleScript, para más detalles.
Lo que necesitas hacer es escapar las comillas dobles con una barra invertida, por ejemplo \"$f\"
y en otros lugares según sea necesario.
He probado tu command, envuelta en un do shell script
command, con el escaping necesario como se muestra en el command abajo y funcionó sin problemas.
do shell script "cd /Volumes/MEDIAS/WORK/CONVERSION_VIDEO/PROXY_720P/INPUT/; for f in *.mov *.mp4; do ffmpeg -i \"$f\" -vcodec prores -profile:v 0 -s 1280x720 /Volumes/MEDIAS/WORK/CONVERSION_VIDEO/PROXY_720P/OUTPUT/\"${f%.*}_PROXY_720P.mov\" && rm \"$f\"; done"
Nota: Debido a que el do shell script
command usa el sh
shell, si el ejecutable ffmpeg
no está en la PATH
pasada al shell, que es /usr/bin:/bin:/usr/sbin:/sbin
, necesitarás incluir la ruta completa al ejecutable ffmpeg
para que tu command funcione en AppleScript.
0 votos
¡Bienvenido a AskDifferent! Considera reescribir tu pregunta para que se centre en un solo tema: actualmente tienes dos - cómo ejecutar un comando bash en AppleScript y un problema con la expansión de la variable
f
. ¿Qué error estás obteniendo y qué te gustaría saber específicamente?