2012-04-05 8 views
14

2 parte pregunta:programas abiertos con applescript

Simplemente estoy tratando de ejecutar programas utilizando applescript de la terminal, así que he intentado:

$ osascript tell application "iTunes" to activate 

y obtener el error:

osascript: tell: No such file or directory 

Dar la ruta completa al programa tampoco funcionó. ¿Qué me estoy perdiendo? La segunda parte de la pregunta es para lo que eventualmente quiero usar applescript. Me gustaría utilizarlo para abrir una aplicación que construí usando py2app. ¿AppleScript puede abrir cualquier aplicación mac o solo algunas que ya son compatibles?

Gracias

Respuesta

19

Pruebe esto. Observe que usa "-e" cuando escribe el comando. Sin "-e" le darías un camino a un AppleScript para ejecutar. También observe que el comando de cadena debe estar entre comillas.

osascript -e "tell application \"iTunes\" to activate" 

Y si usted tiene una multilínea AppleScript utiliza "-e" antes de cada línea como esta ...

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell" 

Si desea abrir una aplicación sólo tiene que utilizar el Unix "abierta "comando ...

open "/path/to/application" 

Si quisieras abrir una aplicación que utiliza AppleScript y el 'activar' comando no funciona (que debería funcionar para casi todo, aunque) luego decirle al Finder para abrirlo. Recuerde que applescript utiliza rutas de colon delimitado ...

osascript -e "tell application \"Finder\" to open file \"path:to:application\"" 
+0

¿Es posible decir qué espacio de trabajo que se abrió el? –

5

Probar:

do shell script "open /Applications/iTunes.app" 
4

necesita poner comillas simples alrededor del tell:

osascript -e 'contar app "iTunes" a activar'

de lo contrario se está definiendo una variable cuando se ejecuta -e

+0

¿Puedes indicar alguna documentación donde se explica esto? Mirando a través de la página man para osascript no veo esto mencionado. – regulus6633

7

en un SH fiesta ell (como en Terminal), puede enviar varias líneas a osascript utilizando un "documento aquí".

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell" 

convierte

osascript <<EOF 
tell application "iTunes" 
    activate 
end tell 
EOF 

Como la vieja escuela Unix hacker, puedo guardar estos pequeños fragmentos en mi directorio $ HOME/bin y llamarlos desde la línea de comandos. Sin embargo, sigo aprendiendo los detalles.

Alan

1

I'am new to script too too.

estoy confundido con lo que escanear un ensayo llamado AppleScript Language Guide y cuando voy a través de comandos de script artículos, me entero de que si desea activar una aplicación en mac os con applescript editor debe escribir debajo de código en tu editor y luego compilar y ejecutarlos!puede que esta respuesta le ayudará, aquí está el código:

// applescript editor code  

----------  

activate application "iTunes" line 1  

----------  

tell application "iTunes" to activate line 2 
2

una alternativa a osascript:

open -a Calendar 

cerca:

pkill Calendar 
+0

¿Para qué es -a? ¿Puedes dar una explicación? – user1271772

+0

@ user1271772, lea la página man para el '_comando__completo_, ¡le dirá para qué es el' -a'! – user3439894

+0

@ user3439894: ¿Para qué sirve? – user1271772

Cuestiones relacionadas