2011-09-04 2 views
0

필자는 필자의 터미널에서 Firefox 부가 기능을 만들 준비가 된 AppleScript를 작성하고 있습니다.내 AppleScript로 '내 작업'창에서 스크립트를 '할'수 있습니까?

tell application "Terminal" 
    do script "cd Public/addon-sdk-1.0" 
    do script "source bin/activate" 
    do script "clear" 
end tell 

이 스크립트를 실행하면 사용자 정의 터미널이 일반 터미널 창과 함께 열립니다. bash 스크립트는 일반 창에서 실행됩니다. 그래서 Applescript를 내 사용자 정의 터미널 만 열고 어떻게 bash 스크립트를 실행하는지 알아 내려고합니다.

답변

1

do script을 사용하지 말고 keystroke 또는 key code과 함께 현재 터미널 창에 키 입력을 보내면됩니다. 비슷한 스크립트를 사용합니다. 방금 osascript myscript.scpt으로 터미널에서 전화를 걸거나 (바로 applescripts를 호출하기 위해 LaunchBar을 사용합니다) 새로운 터미널 탭을 엽니 다 (터미널이 이미 열려있는 경우). 사용자 정의 이름을 지정하고 피드를 제공합니다. . 이 옵션을 수정하여 새 탭을 만드는 것을 건너 뛰고 현재 터미널 창에서 실행하면됩니다. 필자는 대화식 파이썬 세션에 키를 보내는 것과 같은 표준 터미널 명령을 실행하는 것 이상의 작업을 수행해야 할 때만이 접근 방식을 사용합니다. 그렇지 않으면 방금 bash 스크립트를 만듭니다.

global ENTER_, ESC_ 
set ENTER_ to 52 
set ESC_ to 53 

on run_commands(commands, pause) 
    tell application "System Events" 
     repeat with cmd in commands 
      keystroke cmd 
      key code ENTER_ 
      delay pause 
     end repeat 
    end tell 
end run_commands 

on new_terminal_tab(tab_name) 
    activate application "Terminal" 
    delay 0.5 
    tell application "System Events" 
     # create new tab 
     keystroke "t" using {command down} 
     delay 0.5 
     # give it a name 
     keystroke "I" using {shift down, command down} 
     keystroke tab_name 
     delay 0.5 
     key code ESC_ # escape 
    end tell 
end new_terminal_tab 

new_terminal_tab("addon-sdk-work") 
run_commands({ "cd /Users/username/Documents/dev/projname",¬ 
     ". env/bin/activate", ¬ 
     "clear"}, 0.5) 
+0

오, 정말 멋지다! (나는 AppleScript에 대해 더 많이 배워야한다고 말할 수있다.) 하지만 고마워, 내가 찾던 것 같아. –

관련 문제