Trying to execute a command from applescript.

tell application "iTerm 2"
    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

Referencing this question: How do I set up an AppleScript to open a new iTerm2 tab and change the directory?

This doesn't seem to work for me. In fact, neither the exec command or the write text commands seem to work - the text is placed on the command line, but the newline isn't added to actually execute it. My suspicion is that it's somehow writing the text before the terminal is ready for input...

  • You ever figure this out? Having the same issue. – Matt Love Nov 2 '13 at 21:33
  • Yeah, somewhat - see below. – pschuegr Nov 4 '13 at 18:44

I got this working in the end but it was after so much trial and error that I can't remember exactly what made it work. But I can tell you two useful things: 1) I downgraded to iTerm 1.0.0 and 2) here is the code.

on run {input, parameters}
    tell application "iTerm 2"
        if (count of terminals) = 0 then
            set t to (make new terminal)
            set t to current terminal

        end if
        tell t
            set s to (make new session at the end of sessions)
            tell s
                exec command (("vim \"" & POSIX path of first item of input as text) & "\"")
            end tell
        end tell
    end tell
end run
  • I believe the current application name is "iTerm2". At least, that's what works for me in my AppleScripts for iTerm2. – Br.Bill Jul 25 '19 at 22:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.