¿Cómo puedo controlar la Terminal en el espacio actual con AppleScript?

1

Trabajando en la construcción de un controlador que pasa la ventana de la terminal, llama al ID para una secuencia de comandos que he encontrado con resultados mixtos y siento curiosidad por si hay una forma más limpia de obtener window 1

El controlador:

on termHandler()
    set activeTerminal to ""
    if application "Terminal" is running then
        tell application "Terminal"
            if not (exists window 1) and not busy of window 1 then
                activate
                tell application "Terminal" to do script "echo snow" in window 1
            else
                tell application "Terminal" to do script "date" in window 1
                set activeTerminal to window 1
                return activeTerminal
            end if
            do script "echo foo"
            activate
            set activeTerminal to window 1
            return activeTerminal
        end tell
    else
        tell application "Terminal"
            activate
            do script "echo bar" in window 1
            set activeTerminal to window 1
            return activeTerminal
        end tell
    end if
end termHandler

Todo lo que he leído e investigado:

Sugiere que AppleScript y Terminal no se llevan bien. Mi sistema operativo actual es Sierra. Estoy escribiendo esto, pero en otras casillas he ejecutado Yosemite, que usaría este script. Mi objetivo final aquí es identificar una ventana de Terminal en ese espacio en particular y disparar un poco de do script pero parece que tengo un problema al hacerlo. ¿Hay una manera más fácil de identificar si el Terminal se está ejecutando, no crear una nueva ventana y si se está ejecutando, devuelva el window 1 como variable para que pueda pasarlo do script ?

    
pregunta ʀ2ᴅ2 14.12.2017 - 16:23

1 respuesta

-1

¿Necesita realmente que se ingrese en una ventana de terminal o es así como lo encontró que funciona? No estoy seguro de si es consciente de esto o no, pero puede ejecutar scripts de shell directamente desde un AppleScript utilizando este comando "do shell script". Como ejemplo:

do shell script "echo snow"
    
respondido por el Howard Designs 30.12.2017 - 09:01

Lea otras preguntas en las etiquetas