Come posso configurare un AppleScript per aprire una nuova scheda iTerm2 e cambiare la directory?


17

In OS X, come si configura un AppleScript su

  • aprire una nuova scheda iTerm2
  • passare a una directory
  • cancella la console
  • echo la directory corrente

Ho avuto qualcosa di simile prima per Terminal normale, ma non riesco nemmeno a trovare la guida agli script per iTerm2.


1
Vai al loro sito Web , fai clic su " Documentazione ", quindi fai clic su " Scripting ". O cosa intendi con "guida allo scripting"?
Daniel Beck

Se stai provando questo con iTerm2, la soluzione è pubblicata qui: stackoverflow.com/questions/38692346/new-tab-in-iterm2#_=_
Andy Cochrane

Risposte:


16

La soluzione di Daniel in qualche modo apre una nuova finestra - inoltre, l' exec commandaffermazione non funziona come previsto. Uno devewrite text invece.

Inoltre, devi usare

launch session "Default Session" 

per ottenere una nuova scheda.

Di seguito fa quello che hai chiesto:

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

scrivere testo aggiunge il ritorno / newline da solo?
Daniel Beck

Apparentemente, lo fa! Ho provato di tutto prima di pubblicare. exec commandfa qualcosa , ma non so cosa esattamente.
slhck,

Grazie per una bella risposta Ho anche trovato utili i commenti nella parte inferiore di questa pagina per scrivere uno script "cd to": code.google.com/p/iterm2/wiki/AppleScript
cwd

Credo che exec funzioni effettivamente exec(3)e quindi funzioni solo in una nuova sessione, ed esegue il processo exec: ed anziché una shell.
Henrik N,

1
@slhck nvm, ho trovato questo piccolo gioiello con utilizzo EOD: apple.stackexchange.com/questions/103621/…
Ken

0

Non su un Mac in questo momento, quindi potrebbe non funzionare al 100% (adattato questa mia risposta ).

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

Probabilmente puoi concatenare i comandi a

cd Downloads ; clear ; pwd
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.