내 목표는 고객에게 터미널을 열고 셸 스크립트를 실행하도록 지시하는 대신 압축 파일에 압축 파일을 포함시키는 것입니다.
내 배포 가능은 본질적으로 다음과 같습니다.
$ unzip Deliverable.zip
$ cd Deliverable; ls
app.jar run.sh
스크립트 run.sh
:
#!/bin/sh
java -jar app.jar
디렉토리에는 더 많은 것이 있습니다. Deliverable 디렉토리에서 스크립트를 실행해야한다고 말하면 충분합니다. 스크립트와 관련된 경로에 액세스해야하기 때문입니다. 그러나 고객이 열 곳을 보장 할 수는 없습니다 Deliverable.zip
(홈 디렉토리 일 수도 있고 다운로드 디렉토리에있을 수도 있습니다)
내가 발견 이 후, 자동화의 새로운 워크 플로를 만들 쉘 스크립트를 실행하는 응용 프로그램으로 저장하는 방법을 설명하는. 나는 run.sh
그것을 감싸려고했지만 찾을 수 없다고 말합니다 run.sh
.
누군가 내가 애플 스크립트를 사용하라고 제안했고 또한 애플 스크립트를 사용하여 현재 디렉토리로 전환하는 방법에 대한 링크를 보냈습니다. 오토메이터에는 "스크립트"라는 애플 스크립트가 있습니다. 이를 통해 새로운 워크 플로를 만들어 응용 프로그램으로 저장했습니다. 이것은 다음과 같습니다.
코드:
on run {input, parameters}
tell application "Finder"
set current_path to container of (path to me) as alias
end tell
do shell script "java -jar app.jar"
return input
end run
그리고 이것은 내가 실행할 때 발생하는 오류입니다.
Cmon, 이것은 매우 간단해야합니다. 내가 여기서 뭘 잘못하고 있니?