Ich habe ein Python-Skript, das manuell in Terminal ausgeführt wird und dessen Zweck es ist, ein paar weitere Terminals mit jeweils wenigen Registerkarten zu öffnen und in jeder Registerkarte einen Befehl auszuführen.

Im Moment funktioniert es "gut genug", aber ein Problem ist, dass die Art und Weise, wie die Terminal-Registerkarten und Startbefehle erstellt werden, den Fokus vom aktuellen Fenster verlässt.

Ich verwende Applescript, um die Befehle wie folgt zu starten:

osascript -e 'tell application "Terminal"
                activate
                tell application "System Events" to tell process "Terminal" to keystroke "n" using command down
                delay 1
                tell application "Terminal" to do script "'"$SCRIPT_ONE"'" in selected tab of the front window

                tell application "System Events" to tell process "Terminal" to keystroke "t" using command down
                delay 1
                tell application "Terminal" to do script  "'"$SCRIPT_TWO"'" in selected tab of the front window
            end tell' >> /dev/null

Das vollständige Skript (das den Inhalt von SCRIPT_ONE und SCRIPT_TWO erstellt) dauert eine Weile. Wenn ich also auf die Ausführung warte und etwas in ein anderes Terminalfenster tippe, bringt mich das Apfelskript durcheinander ... und normalerweise mein Schlussstein wird am Ende mit dem Terminal gemischt, das AppleScript einrichten möchte.

Wie kann ich Terminal (mit AppleScript oder etwas anderem) anweisen, Tabs zu öffnen und Befehle auszuführen, ohne den Fokus zu verändern?

Droopycom
quelle