Ejecutando un droplet AS desde la Terminal

3

Tengo una aplicación Applescript Droplet que necesito ejecutar desde el terminal. Puedo usar osascript o incluso open para abrir la aplicación AS, pero eso ejecutará su controlador on run , no el controlador de gotas on open que necesito ejecutar. Intenté pasar el archivo "caído" en ( osascript /Path/To/App.app /Path/To/Droppings.txt ), pero aún ejecuta el controlador on run . ¿Hay alguna forma de hacer esto? Y si no es con bash, ¿es posible desde otro AppleScript? Gracias.

    
pregunta scohe001 29.08.2013 - 20:23

1 respuesta

1

Puede usar otro AppleScript que le diga al Finder que abra archivos con la aplicación droplet.

Por ejemplo, guarde este script como /Applications/droplet.app en el Editor de AppleScript:

on open a
    repeat with f in a
        say POSIX path of f
    end repeat
end open

A continuación, ejecute:

osascript -e 'on run {f}' -e 'tell app "Finder" to open POSIX file f as alias using POSIX file "/Applications/droplet.app"' -e end /bin/test

Para abrir varios archivos, convierta la lista de argumentos en una lista de objetos de archivo:

osascript -e 'on run a
set l to {}
repeat with f in a
set l to l & POSIX file f
end
tell app "Finder" to open l using (POSIX file "/Applications/droplet.app")
end' ~/*

Alternativamente, cree la aplicación de gota con Automator en lugar de AppleScript Editor:

Luego ejecuta open -a droplet2 /bin/test .

El controlador run también se usa para los archivos colocados en la aplicación. Un controlador llamado open no tiene ningún significado especial.

Un inconveniente de usar las aplicaciones de Automator es que hay un retraso relativamente largo antes de que se ejecuten.

    
respondido por el user495470 30.08.2013 - 10:18

Lea otras preguntas en las etiquetas