La ejecución de los diferentes lenguajes de scripting disponibles en OS X (y los que puedas instalar) en macOS se realiza a través del comando osascript a través del Terminal. Este comando es capaz de leer texto plano dado en un script o incluso ejecutar scripts complicados de Applescript (archivos .acpt). Por defecto, osascript trata el texto plano como scripts de Applescript pero es factible cambiar este comportamiento usando la bandera -l. Para obtener una lista de los lenguajes de scripting que tienes instalados en tu OS X utiliza el comando osalang. Por defecto te devolveré una lista con tres resultados, Applescript, Javascript y “Generic Scripting System”, que es lo que nos ocupa hoy.
Parte de la idea tras OSA (Open Scripting Architecture) es presentar una API genérica para compilar y ejecutar scripts de forma que no solo puedes usar Applescript, sino también Javascript y otros lenguajes de scripting que instales en tu Mac, siempre que estén “correctamente empaquetados” para comunicarse con tu Mac.
Esta comunicación se realiza a través de Generic Scripting System ya que muchas aplicaciones no interactúan directamente con Applescript, sino que lo hacen con esta API que es la que se encarga de traducir las peticiones que se realizan de forma que puedan ejecutarse. Esto permite también, como medida de seguridad, que un lenguaje de scripting de cualquier tipo escale un ataque contra el sistema ya que ha de pasar por el filtro de Generic Scripting System.
Añadiendo Applescripts a tu Terminal
Si vas a ejecutar un Applescript sencillo, de tan solo una línea usaremos:
osascript -e "do shell script \"el texto del Applescript\""
Esas barras invertidas, incluidas en el comando, evitan que la ejecución del comando se cierre inesperadamente al encontrarse con más comillas.
Ahora imagina que quieres ejecutar dentro del Terminal, este Applescript con derechos de administrador y que aparezca un cuadro de diálogo con su correspondiente usuario y contraseña a rellenar. Entonces usaremos:
osascript -e "do shell script \"el texto del Applescript\"with administrator privileges"
Donde with administrador privilegies invocará el cuadro de diálogo para la ejecución como administrador (usuario y contraseña).
Javascript
Para la ejecución de Javascript en el Terminal, usaremos el comando:
osascript -l JavaScript -i
Tras la introducción de este comando, irá el script de Javascript un elemento por cada línea. Verás que el cursor de entrada de el Terminal cambia a >> lo que indica que es ahí donde puedes introducir el Javascript.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.