답변:
예, 여기서 Automator가 가장 좋습니다. 서비스를 작성하려면 다음 단계를 수행하십시오.
Automator를 열고 서비스를 선택하십시오.
'applescript'를 검색하고 조치를 오른쪽 분할 창으로 끄십시오.
변경 Service receives selected text
에 대한 Service receives no input
그래서 항상 서비스 메뉴에 나타납니다 :
다음으로 교체하십시오 (* Your script goes here *)
.
do shell script "/usr/bin/osascript /path/to/your/script.scpt"
기존 .scpt
파일 을 실행하려는 경우 참고 osascript가 사용자 상호 작용을 처리 할 수 있는 대화 상자 창을 표시 같은 :
이 제한을 극복하려면 이 해결 방법을 사용 하거나 단순히 (* Your script goes here *)
스크립트 내용으로 바꾸 십시오.
저장해:
원하는 경우 새 서비스에 바로 가기를 할당 할 수 있습니다. Finder 또는 열려있는 응용 프로그램에서 서비스> 서비스 환경 설정을 선택하십시오.
일반적이지 않은 shorcut을 지정하십시오.
이제 이전 단계에서 지정한 바로 가기를 통해 모든 응용 프로그램에서 서비스에 액세스 할 수 있습니다.
service open을 제거하려면 서비스 ~/Library/Services
를 삭제하고 휴지통을 비우십시오.
osascript
다른 답변에서 설명한대로을 사용하십시오 .
osascript
Automator에서 .scpt
파일 을 실행 하는 방법, 제한 사항 및 두 가지 해결 방법을 추가했습니다.
osascript
스크립트를 실행하는 데 4 초가 더 필요한지 모르겠지만 Automator는 지연의 원인이 아닙니다. 디버그하고 싶을 수도 osascript
있습니다. opensourcehacker.com/2011/12/02/… 및 stackoverflow.com/questions/31045575/…
스크립트에서 on run
인수를 추가하십시오 .
on run
-- do whatever the script does
end run
그런 다음 Automator "Run Shell Script"작업을 다음 osascript
명령 과 함께 사용할 수 있습니다 .
osascript /path/to/script.scpt
osascript
쉘에서 AppleScript를 실행하는 명령입니다. 스크립트를 AppleScript 편집기 외부에서 실행하려면 스크립트에 줄이 필요합니다.
on run {input, arguments}
양식을 사용하기 때문에 Automator 에서도 실행 핸들러를 제거 할 수 있기 때문 입니다.
아마도이 서비스를 살펴보고 싶을 것 입니다. "어떤 스크립트에서든 Mac OS X 서비스를 생성 할 수 있습니다."
스크립트에 단축키를 할당하기 위해 Automator 서비스를 생성하지 않는 것이 좋습니다. 10.7 및 10.8에는 메뉴 막대에서 서비스 메뉴 위로 마우스를 가져 가기 전까지는 Automator 서비스의 키보드 단축키가 항상 작동하지 않는 버그가 있습니다. 서비스가 실행되기 전에 상대적으로 긴 (아마도 0.1에서 1 초) 지연이 있습니다.
키보드 단축키를 스크립트에 할당하는 다른 방법 은 이 답변 을 참조하십시오 . 저는 FastScripts와 Alfred를 사용합니다.
이와 같은 간단한 자동화 서비스를 사용하여 기존 스크립트를 실행할 수 있습니다. 키보드 단축키 내에서 단축키를 평소대로 할당하십시오. 바로 가기를 선택하기 전에 일부 응용 프로그램을 다시 시작해야 할 수도 있습니다.
예.
sayHello 스크립트 :
say "hello"
자동화 서비스 :
이 예에서는 다음을 사용합니다.
동작은 셸 스크립트 실행 코드는 유닉스 명령 osascript 와 파일 경로 만 사용 합니다. 패스 입력 은 stdn 또는 arguments 가 될 수 있습니다
스크립트에 특별한 조치를 취할 필요는 없습니다.
osascript 명령 에 대한 자세한 내용 은 해당 매뉴얼 페이지 를 참조하십시오. 매뉴얼 페이지는 스크립트에 인수를 전달할 수있는 또 다른 예를 제공합니다.