iTerm2: Como obter a saída de um comando shell com o applescript

3

Eu quero que a saída de um comando shell seja executada através do applescript do iTerm2 em uma variável applescript. Eu tentei o seguinte, mas não funciona:

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

Obrigado pela sua ajuda!

    
por Lars Bilke 14.12.2011 / 17:09

1 resposta

0

você pode tentar isso.

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

Isso retornará a saída do comando que você especificar em write text na linha número 9 do código acima.

    
por 06.11.2017 / 16:15