1 votos

Autómata: "Ejecutar Shell script" arroja error porque falta el comando "on".

OSX 10.11.4 aquí.

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

Creado a través de: Automator -> Nuevo Servicio -> Utilidades -> Ejecutar Shell script, luego configurado como 'no input' en 'Finder', y shell configurado como "/bin/bash".

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

Pero sólo estoy recibiendo errores hasta ahora para el script que realmente quiero ejecutar, que incluye una llamada de "on run", que parece causar problemas. Después de depurar un poco, puedo reducirlo a esto:

on run {input, parameters}

end run

da lugar a un error:

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

Podría tener algo que ver con una ruta que falta me imaginé, así que ya he intentado trabajar en eso, por ejemplo, mediante la adición de:

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

o:

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

como se sugiere aquí . No ayudó.

Tenga en cuenta 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 automator mira en .bash_profile.

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

5voto

Nate Puntos 220

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

2 votos

Um... eso vale un "¡D'oh!". Gracias. Marcado como respondido.

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