Bagaimana cara mengatur AppleScript untuk membuka tab iTerm2 baru dan mengubah direktori?

17

Di OS X, bagaimana cara mengatur AppleScript

  • buka tab iTerm2 baru
  • ubah ke direktori
  • kosongkan konsol
  • gema direktori saat ini

Saya memiliki sesuatu seperti ini sebelumnya untuk Terminal reguler, tetapi saya bahkan tidak dapat menemukan panduan penulisan untuk iTerm2.

cwd
sumber
1
Buka situs web mereka , klik " Dokumentasi ", lalu klik " Scripting ". Atau apa yang Anda maksud dengan "panduan penulisan"?
Daniel Beck
Jika Anda mencoba ini dengan iTerm2, solusinya diposting di sini: stackoverflow.com/questions/38692346/new-tab-in-iterm2#_=_
Andy Cochrane

Jawaban:

16

Solusi Daniel entah bagaimana membuka Window baru - juga, exec commandpernyataan itu tidak berfungsi seperti yang diharapkan. Kita harus write textsebaliknya.

Juga, Anda harus menggunakan

launch session "Default Session" 

untuk mendapatkan tab baru.

Berikut ini melakukan apa yang Anda minta:

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
sumber
tulis teks menambahkan kembali / baris baru sendiri?
Daniel Beck
Ternyata itu benar! Saya mencoba semuanya sebelum memposting. exec commandmelakukan sesuatu , tetapi saya tidak tahu persis apa.
slhck
Terima kasih atas jawaban yang bagus. Saya juga menemukan komentar di bagian bawah halaman ini untuk membantu dalam penulisan skrip "cd to": code.google.com/p/iterm2/wiki/AppleScript
cwd
Saya percaya exec benar-benar berjalan exec(3)dan hanya bekerja di sesi baru, dan menjalankan proses exec: ed bukannya shell.
Henrik N
1
@ slhck nvm, menemukan permata kecil ini dengan penggunaan EOD: apple.stackexchange.com/questions/103621/…
Ken
0

Tidak di Mac sekarang, jadi mungkin tidak berfungsi 100% (mengadaptasi jawaban saya ini ).

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

Anda mungkin dapat menggabungkan perintah untuk

cd Downloads ; clear ; pwd
Daniel Beck
sumber