Tengo una aplicación Applescript Droplet que necesito ejecutar desde la terminal. Puedo usar osascript
o incluso solo open
para abrir la aplicación AS, pero eso ejecutará su on run
controlador, no el on open
controlador de gotas que necesito ejecutar. Intenté pasar el archivo "soltado" en ( osascript /Path/To/App.app /Path/To/Droppings.txt
), pero aún ejecuta el on run
controlador. ¿Hay alguna forma de hacer esto? Y si no con bash, ¿es posible desde otro AppleScript? Gracias.
Puede usar otro AppleScript que le dice a Finder que abra archivos con la aplicación de gotas.
Por ejemplo, guarde este script como /Applications/droplet.app
en AppleScript Editor:
on open a
repeat with f in a
say POSIX path of f
end repeat
end open
Entonces corre:
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:
Entonces corre open -a droplet2 /bin/test
.
El run
controlador también se utiliza para los archivos colocados en la aplicación. Un controlador llamado open
no tiene ningún significado especial.
Una desventaja de usar las aplicaciones de Automator es que hay un retraso relativamente largo antes de que se ejecuten.
adayzdone
scohe001
x
, pasarlos al alias de la otra aplicación. ¿Esto tiene sentido?scohe001