2

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...

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

1 Answer 1

1

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"
        activate
        if (count of terminals) = 0 then
            set t to (make new terminal)
        else
            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
1
  • 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, 2019 at 22:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .