In OS X, how do I set up an AppleScript to

  • open a new iTerm2 tab
  • change to a directory
  • clear the console
  • echo the current directory

I had something like this before for regular Terminal, but I can't even find the scripting guide for iTerm2.

link|improve this question

1  
Go to their website, click "Documentation", then click "Scripting". Or what do you mean by "scripting guide"? – Daniel Beck Jun 20 '11 at 6:31
feedback

2 Answers

up vote 3 down vote accepted

Daniel's solution somehow opens a new Window – also, the exec command statement does not work as expected. One has to write text instead.

Also, you have to use

launch session "Default Session" 

in order to get a new tab.

The following does what you asked for:

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
link|improve this answer
write text adds the return/newline on its own? – Daniel Beck Jun 20 '11 at 9:06
Apparently, it does! I tried everything before posting. exec command does something, but I don't know what exactly. – slhck Jun 20 '11 at 9:19
Thanks for a nice answer. I also found the comments at the bottom of this page to be helpful in writing a "cd to" script: code.google.com/p/iterm2/wiki/AppleScript – cwd Jun 21 '11 at 4:16
feedback

Not on a Mac right now, so it might not work 100% (adapted this answer of mine).

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

You can probably concatenate the commands to

cd Downloads ; clear ; pwd
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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