Comment configurer un AppleScript pour ouvrir un nouvel onglet iTerm2 et modifier le répertoire?

17

Sous OS X, comment configurer un AppleScript pour

  • ouvrir un nouvel onglet iTerm2
  • passer à un répertoire
  • effacer la console
  • faire écho au répertoire courant

J'avais quelque chose comme ça avant pour Terminal normal, mais je ne trouve même pas le guide de script pour iTerm2.

cwd
la source
1
Allez sur leur site web , cliquez sur " Documentation ", puis sur " Script ". Ou qu'entendez-vous par «guide de script»?
Daniel Beck
Si vous essayez ceci avec iTerm2, la solution est publiée ici: stackoverflow.com/questions/38692346/new-tab-in-iterm2#_=_
Andy Cochrane

Réponses:

16

La solution de Daniel ouvre en quelque sorte une nouvelle fenêtre - également, la exec commanddéclaration ne fonctionne pas comme prévu. Il faut write textplutôt.

Vous devez également utiliser

launch session "Default Session" 

afin d'obtenir un nouvel onglet.

Voici ce que vous avez demandé:

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
slhck
la source
écrire du texte ajoute le retour / la nouvelle ligne seul?
Daniel Beck
Apparemment, c'est le cas! J'ai tout essayé avant de poster. exec commandfait quelque chose , mais je ne sais pas quoi exactement.
slhck
Merci pour une belle réponse. J'ai également trouvé les commentaires au bas de cette page utiles pour écrire un script "cd to": code.google.com/p/iterm2/wiki/AppleScript
cwd
Je crois que exec s'exécute exec(3)et ne fonctionne donc que dans une nouvelle session, et exécute le processus exec: ed au lieu d'un shell.
Henrik N
1
@slhck nvm, a trouvé ce petit bijou avec l'utilisation d'EOD: apple.stackexchange.com/questions/103621/…
Ken
0

Pas sur un Mac en ce moment, donc cela pourrait ne pas fonctionner à 100% (adapté ma réponse ).

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

Vous pouvez probablement concaténer les commandes

cd Downloads ; clear ; pwd
Daniel Beck
la source