如何通过 applescript 在 iTerm 2 中执行命令?

如何通过 applescript 在 iTerm 2 中执行命令?

尝试从 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

参考这个问题:如何设置 AppleScript 以打开新的 iTerm2 选项卡并更改目录?

这对我来说似乎不起作用。事实上,exec 命令和 write text 命令似乎都不起作用 - 文本放在命令行上,但没有添加换行符来实际执行它。我怀疑它在终端准备好输入之前以某种方式写入文本...

答案1

我最终让它工作了,但经过了这么多的反复尝试,我记不清它到底是如何工作的了。但我可以告诉你两件有用的事情:1) 我降级到 iTerm 1.0.0 和 2) 这是代码。

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

相关内容