Legen Sie den Alias ​​für das Terminalfenster in Applescript fest


0

Nach dem Öffnen mehrerer Terminalfenster und dem Ausführen von Befehlen in diesen wird es schwierig, einen weiteren Befehl an ein bestimmtes Terminalfenster zu senden.

Wie können wir für jedes Terminalfenster einen Alias ​​festlegen, um es später gezielt auszurichten? Hier ist ein Codeausschnitt von dem, was ich versuche zu tun (anscheinend funktioniert der Code nicht)

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

Antworten:


1

Was Sie wirklich speichern müssen, sind die Registerkarten - diese können wieder in einer do scriptAktion verwendet werden (auch wenn es sich nur um eine pro Fenster handelt).

Dieses Skript:

Anwendung "Terminal" mitteilen
    aktivieren Sie
    setze tab1 auf (mache Skript "echo foo")
    Skript "Echo Bar" in Tab1 ausführen
    Skript "echo baz" ausführen - in neuem Fenster
    Skript "Echo wieder zurück" in tab1
Ende erzählen

wird dies in einem Fenster erzeugen:

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

und das in einem anderen:

$ echo baz
baz

0

Eine Lösung für Ihr Problem, die nicht von AppleScript stammt, kann darin bestehen, die Terminaleinstellungen zu öffnen und Einstellungen auszuwählen. Aktivieren Sie dann auf der Registerkarte Fenster das Kontrollkästchen Befehlstaste. Dadurch wird der Titelleiste eine Befehlstaste hinzugefügt, mit der sofort zu diesem Fenster gewechselt werden kann. Bei Fenstertiteln werden also ⌘1, ⌘2 usw. an den Fenstertitel angehängt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.