3

Я хочу, чтобы выходные данные команды оболочки запускались по applecript iTerm2 в переменную applecript. Я попробовал следующее, но это не работает:

tell application "iTerm"
  activate
  try
    set _session to current session of current terminal
  on error
    say "Error"
  end try
  tell _session
    set Directory to write text "pwd"
    get Directory
    set Directory to exec command "pwd"
    get Directory
  end tell
end tell

Спасибо за вашу помощь!

1 ответ1

0

Вы могли бы попробовать это.

tell application "iTerm"
    activate
    try
        set _session to current session of current tab of current window
    on error
        say "Error"
    end try
    tell _session
        write text "pwd"
        set terminalContent to text of _session
    end tell
end tell
set output to paragraph -2 of trim(true, terminalContent)

on trim(theseCharacters, someText)
    if class of someText is text and length of someText > 0 then
        -- default values (all whitespace)
        if theseCharacters is true then ¬
            set theseCharacters to {" ", tab, ASCII character 10, return, ASCII character 0}

        repeat until first character of someText is not in theseCharacters
            set someText to text 2 thru -1 of someText
        end repeat

        repeat until last character of someText is not in theseCharacters
            set someText to text 1 thru -2 of someText
        end repeat
    end if

    return someText
end trim

Это вернет вывод команды, которую вы укажете в write text в строке номер 9 приведенного выше кода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .