답변:
"쉘 스크립트 실행"단일 단계로 Automator 워크 플로우를 작성할 수 있습니다.
그런 다음 File > Save As
파일 형식을 "응용 프로그램"으로 변경하십시오. 응용 프로그램을 열면 셸 스크립트 단계가 실행되고 명령이 실행 된 후 종료됩니다.
이것의 장점은 실제로 매우 간단 하다는 것입니다. 사용자 입력 (예 : 많은 파일 선택)을 매우 쉽게 가져온 다음 쉘 스크립트의 입력 (stdin 또는 인수)에 전달할 수 있습니다.
(자동화는 /Applications
폴더에 있습니다!)
open -a SomeAppThing.app --args --etc=2
초점을 맞춰야합니다. 또는 당신은 AppleScript를 (예를 들어, 사용하여 초점을 맞출 수 있습니다 osascript -e 'tell application "Google Chrome" to activate'
)
터미널 윈도우가 필요하지 않은 경우, 쉘 스크립트를 생성 Example
하고 filename으로 이동 하여 실행 파일을 응용 프로그램으로 만들 수 Example.app/Contents/MacOS/Example
있습니다. 이 새로운 응용 프로그램을 다른 응용 프로그램과 마찬가지로 독에 넣고 클릭 한 번으로 실행할 수 있습니다.
참고 : 앱 이름은 스크립트 이름과 정확히 일치해야합니다. 따라서 최상위 디렉토리가 되어야 Example.app
하고 Contents/MacOS
서브 디렉토리 Example
의 스크립트 이름이 지정 되어야하며 스크립트는 실행 가능해야합니다.
터미널 창을 표시 해야하는 경우 간단한 해결책이 없습니다. Applescript로 무언가를 할 수는 있지만 그다지 깨끗하지는 않습니다.
example.sh.app
뿐만 아니라 example.app
. 일치하지 않으면 손상된 앱에 대한 경고가 표시됩니다.
.app
구조로 끝나는 폴더를 만들면 실행 가능한 응용 프로그램으로 취급됩니다. Finder에서 해당 폴더의 내용을 보려면 마우스 오른쪽 버튼으로 클릭하고 "패키지 내용보기"를 선택해야합니다 (두 번 클릭하면 응용 프로그램이 실행되므로). 터미널에서는 폴더로 나타납니다. (Finder에서 폴더 이름을 .app로 바꿀 수 있는지 잘 모르겠습니다. 터미널에서 이름을 바꿔야 할 수도 있습니다.)
OSX 매버릭에서 :
쉘 스크립트를 실행 가능하게 만드십시오.
chmod +x your-shell-script.sh
.app
접미사 를 갖도록 스크립트 이름을 바꾸십시오 .
mv your-shell-script.sh your-shell-script.app
스크립트 이름을 .sh
접미사로 다시 바꾸십시오 .
mv your-shell-script.app your-shell-script.sh
이제 독에서 스크립트를 클릭하면 터미널 창이 나타나고 스크립트가 실행됩니다.
보너스 : 스크립트가 완료되었을 때 터미널을 닫으 exit 0
려면 끝에 추가 하고 터미널 설정을 변경 하여이 SO answer 에서 말하는 것처럼 "정말 종료되면 쉘을 닫습니다" .
나는 이것이 오래되었지만 다른 사람들에게 도움이되는 경우를 알고 있습니다.
스크립트를 실행해야하고 터미널이 팝업되도록하려면 Abyss Knight가 말한 것처럼 결과를보고 확장자를 .command로 변경하십시오. 두 번 클릭하면 터미널 창이 열리고 실행됩니다.
그러나 자동화 또는 appleScript에서 실행하려면 이것이 필요했습니다. 따라서 이것을 새로운 터미널을 열려면 "쉘 스크립트 실행"에서 실행 한 명령은 "open myShellScript.command"이고 새 터미널에서 열립니다.
스크립트가 실행 가능하고 확장자가없는 한, Dock의 오른쪽 (문서 쪽)으로 그대로 끌 수 있으며 편집기를 열지 않고 클릭하면 터미널 창에서 실행됩니다.
foo.sh와 같은 확장자를 원한다면 Finder의 파일 정보 창으로 이동하여 특정 스크립트의 기본 응용 프로그램을 (TextEdit, TextMate, 컴퓨터의 기본 설정에 관계없이) 변경할 수 있습니다 .sh 파일)을 터미널에 연결합니다. 그런 다음 텍스트 편집기에서 여는 대신 실행됩니다. 다시 Dock의 오른쪽으로 드래그해야합니다.
이 글이 도움이 될 것이라고 생각합니다 : http://forums.macosxhints.com/archive/index.php/t-70973.html
설명을 바꾸려면 .command 확장명으로 이름을 바꾸거나 AppleScript를 만들어 셸을 실행할 수 있습니다.
joe가 언급했듯이 쉘 스크립트를 작성한 다음 쉘 스크립트를 호출하는 애플 스크립트 스크립트를 작성하면이를 달성 할 수 있으며 매우 편리합니다.
선호하는 텍스트 편집기에서 쉘 스크립트를 작성하십시오 (예 :
mono "/Volumes/Media/~Users/me/Software/keepass/keepass.exe"
(모노 프레임 워크를 사용하여 w32 실행 파일을 실행합니다)
쉘 스크립트를 저장하십시오 (예 : "StartKeepass.sh").
AppleScript 편집기를 열고 쉘 스크립트를 호출하십시오.
do shell script "sh /Volumes/Media/~Users/me/Software/StartKeepass.sh" user name "<enter username here>" password "<Enter password here>" with administrator privileges
do shell script
-외부 쉘 명령을 호출하는 applescript 명령"sh ...."
-이것은 1 단계에서 생성 된 쉘 스크립트 (전체 경로)입니다 (직접 명령을 실행할 수도 있습니다. 쉘 스크립트를 생략하고 여기에서 모노 명령을 실행할 수 있습니다)user name
-특정 사용자로 명령을 실행하려는 Applescript에 선언합니다."<enter username here>
- "josh"와 같은 사용자 이름으로 바꾸십시오 (따옴표 유지).password
-비밀번호를 사과로 표시합니다."<enter password here>"
-비밀번호 (예 : 따옴표)로 바꾸고 "mypass"with administrative privileges
-관리자로 실행하고 싶다고 선언합니다.내 경우 RunKeepass.scpt에서 applescript를 filename.scpt로 저장하십시오.
Applescript로 다른 이름으로 저장하고 파일 형식을 응용 프로그램으로 변경하면 내 경우에는 RunKeepass.app
앱 파일을 앱 폴더에 복사