0 votos

Establecer un alias para la ventana de terminal en Applescript

Después de abrir varias ventanas de terminal y ejecutar comandos en ellas, resulta difícil enviar otro comando a una ventana de terminal específica.

¿Cómo podemos establecer un alias para cada ventana de terminal para poder dirigirnos específicamente a ella más tarde? Aquí hay un fragmento de código de lo que estoy tratando de hacer (aparentemente el código no funciona)

tell application "Terminal"

    activate        

    do script "./start-1.sh" in window 1
    // then set an alias for this window: 'start1'

    do script "./start-2.sh" in window 2
    // then set an alias for this window: 'start2'

    do script "/monitor.sh" in window 3
    // then set an alias for this window 'monitor'

    // send command to a specific window using its alias
    do script "shutdown -n 0" in window 'monitor'

end tell

1voto

0942v8653 Puntos 3617

Lo que realmente hay que ahorrar son los pestañas -que se pueden volver a utilizar en un do script acción (incluso si son sólo una por ventana).

Este script:

tell application "Terminal"
    activate
    set tab1 to (do script "echo foo")
    do script "echo bar" in tab1
    do script "echo baz" -- in new window
    do script "echo back again" in tab1
end tell

producirá esto en una ventana:

$ echo foo
foo
$ echo bar
bar
$ echo back again
back again
$

y esto en otro:

$ echo baz
baz

0voto

sdmeyers Puntos 1356

Una solución no applescript para su problema puede ser abrir las Preferencias de la Terminal... seleccione Configuración. Luego, en la pestaña de Ventana, seleccione la casilla de verificación de la Tecla de Comando. Esto añadirá una tecla de comando a la barra de título para cambiar instantáneamente a esa ventana (así los títulos de las ventanas tendrían 1, 2, etc. anexados al título de la ventana.

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