Définir un alias pour la fenêtre de terminal dans Applescript

0

Après avoir ouvert plusieurs fenêtres de terminal et y avoir exécuté des commandes, il devient difficile d’envoyer une autre commande à une fenêtre de terminal spécifique.

Comment pouvons-nous définir un alias pour chaque fenêtre de terminal afin de pouvoir le cibler spécifiquement plus tard? Voici un extrait de code de ce que j'essaie de faire (apparemment, le code ne fonctionne pas)

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
Nyxynyx
la source

Réponses:

1

Ce que vous devez vraiment sauver, ce sont les onglets Ceux-ci peuvent être réutilisés dans un do script action (même s’ils ne sont qu’une par fenêtre).

Ce 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

produira ceci dans une fenêtre:

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

et ceci dans un autre:

$ echo baz
baz
0942v8653
la source
0

Une solution autre que AppleScript à votre problème consiste peut-être à ouvrir les Préférences du terminal ... sélectionnez Paramètres. Ensuite, sous l'onglet Fenêtre, cochez la case Commande. Cela ajoutera une touche de commande à la barre de titre pour basculer instantanément vers cette fenêtre (ainsi, les titres de fenêtre auraient 1, ⌘2, etc. ajoutés au titre de la fenêtre.

sdmeyers
la source