1 votos

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

Trabajando en la construcción de un Manejador que pasa la ventana de la terminal y luego llama a la identificación de un script Me he encontrado con resultados mixtos y tengo curiosidad por saber si hay una forma más limpia de conseguir window 1

El manipulador:

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 en el que estoy escribiendo esto, pero otras cajas que he ejecutado Yosemite que utilizaría este script. Mi objetivo final aquí es identificar una ventana de Terminal en ese espacio particular y disparar algunos do script pero parece que tengo un problema al hacerlo. ¿Hay alguna manera más fácil de identificar si la Terminal se está ejecutando, no crear una nueva ventana y si se está ejecutando devolver el window 1 como una variable para poder pasarle do script ?

-1voto

Howard Designs Puntos 7

¿Es necesario introducirlo en una ventana de terminal o es sólo la forma en que lo has encontrado para trabajar? No estoy seguro de si lo sabes o no, pero puedes ejecutar shell scripts directamente desde un AppleScript usando este comando "do shell scriptsscriptscripts". Como ejemplo:

do shell script "echo snow"

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