Wie richte ich ein AppleScript ein, um eine neue iTerm2-Registerkarte zu öffnen und das Verzeichnis zu ändern?


17

Wie richte ich unter OS X ein AppleScript ein?

  • Öffnen Sie eine neue iTerm2-Registerkarte
  • in ein Verzeichnis wechseln
  • mach die Konsole frei
  • Echo das aktuelle Verzeichnis

Ich hatte so etwas schon einmal für das reguläre Terminal, aber ich kann nicht einmal die Skriptanleitung für iTerm2 finden.


1
Gehen Sie zu ihrer Website , klicken Sie auf " Documentation " und dann auf " Scripting ". Oder was meinst du mit "Scripting Guide"?
Daniel Beck

Wenn Sie dies mit iTerm2 versuchen, finden Sie die Lösung hier: stackoverflow.com/questions/38692346/new-tab-in-iterm2#_=_
Andy Cochrane

Antworten:


16

Daniels Lösung öffnet irgendwie ein neues Fenster - auch die exec commandAussage funktioniert nicht wie erwartet. Man muss write textstattdessen.

Auch müssen Sie verwenden

launch session "Default Session" 

um eine neue Registerkarte zu erhalten.

Folgendes tut, was Sie gefragt haben:

tell application "iTerm"
    make new terminal
    tell the current terminal
        activate current session
        launch session "Default Session"
        tell the last session
            write text "cd ~/Downloads; clear; pwd"
        end tell
    end tell
end tell

Wenn Sie Text schreiben, wird der Zeilenumbruch / die Zeilenvorschubzeile von selbst hinzugefügt.
Daniel Beck

Anscheinend schon! Ich habe vor dem Posten alles versucht. exec commandtut etwas , aber ich weiß nicht genau was.
Slhck

Danke für eine nette Antwort. Ich fand auch die Kommentare am Ende dieser Seite hilfreich beim Schreiben eines "CD an" -Skripts
cwd

Ich glaube, dass exec tatsächlich ausgeführt wird exec(3)und daher nur in einer neuen Sitzung funktioniert und den ausgeführten Prozess anstelle einer Shell ausführt.
Henrik N

1
@slhck nvm, fand dieses kleine Juwel mit EOD-Nutzung: apple.stackexchange.com/questions/103621/…
Ken

0

Im Moment nicht auf einem Mac, daher funktioniert es möglicherweise nicht zu 100% (habe meine Antwort angepasst ).

tell application "iTerm"
    activate
    set t to (make new terminal)
    tell t
        tell (make new session at the end of sessions)
            exec command "cd Downloads"
            exec command "clear"
            exec command "pwd"
        end tell
    end tell
end tell

Sie können wahrscheinlich die Befehle an verketten

cd Downloads ; clear ; pwd
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.