Вопрос Как выполнить команду в iTerm 2 из applescript?


Попытка выполнить команду из 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, ни команды ввода текста, похоже, не работают - текст помещается в командную строку, но новая строка не добавляется для ее фактического выполнения. Мое подозрение в том, что он каким-то образом пишет текст до того, как терминал готов для ввода ...


2
2017-10-20 19:28


происхождения


Вы когда-нибудь это понимаете? Имеет ту же проблему. - Matt Love
Да, несколько - см. Ниже. - pschuegr


ответы:


Я получил эту работу в конце, но после стольких проб и ошибок я не мог точно запомнить, что заставило ее работать. Но я могу сказать вам две полезные вещи: 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

1
2017-11-04 18:44