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.


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

é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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.