Automator: "Ejecutar script de Shell" arroja un error debido a la falta del comando "on"

1

OSX 10.11.4 aquí.

Estoy tratando de crear un flujo de trabajo para usar con una tecla de acceso rápido, para ejecutar un script de shell simple.

Creado a través de: Automator -> New Service -> Utilities -> Run Shell Script, luego configúrelo en 'no input' en 'Finder', y shell configure en "/ bin / bash".

Para un script trivial, digamos, uno que no contenga más que "ls", funciona.

Pero hasta ahora solo recibo errores para el script que realmente quiero ejecutar, que incluye una llamada de "en ejecución", que parece causar problemas. Después de depurar un poco, puedo reducirlo a esto:

on run {input, parameters}

end run

da como resultado un error:

Run Shell script failed - 1 error
-: line 2: on: command not found

Supuse que podría tener algo que ver con un camino perdido, así que ya intenté trabajar en eso, por ejemplo, agregando:

PATH=/bin:/usr/bin:/sbin:/usr/sbin export PATH

o:

PATH=/usr/bin:/usr/local/bin export PATH

como se sugiere aquí . No ha ayudado

Nota también: tengo instalado Anaconda, que parece que cambió la ruta en .bash_profile. Por otra parte, ni siquiera estoy seguro de si el entorno bash invocado por el automatizador mira .bash_profile.

¿Alguna idea de qué probar a continuación?

Bert Zangle
fuente

Respuestas:

5

on run {input, parameters}es la sintaxis de AppleScript, no un comando de shell válido. Si desea ejecutar AppleScript en el servicio, use la acción Ejecutar AppleScript en lugar de Ejecutar script de Shell.

Gordon Davisson
fuente
2
Um ... eso vale un "D'oh!". ¡Gracias! Marcado como respondido.
Bert Zangle