Moim celem jest dołączenie do pliku zip, co stanowi skrót, zamiast informować moich klientów, aby otworzyli Terminal i uruchomili skrypt powłoki.
Moje urządzenie do wdrożenia wygląda następująco:
$ unzip Deliverable.zip
$ cd Deliverable; ls
app.jar run.sh
Skrypt w run.sh
:
#!/bin/sh
java -jar app.jar
W katalogu jest o wiele więcej; wystarczy powiedzieć, że muszę uruchomić skrypt z katalogu Deliverable, ponieważ muszę uzyskać dostęp do ścieżek względem niego. Nie mogę jednak zagwarantować, gdzie klient zamierza otworzyć Deliverable.zip
(może to być katalog domowy, może znajdować się bezpośrednio w katalogu Pobrane itp.)
Znalazłem to, które opisuje, jak utworzyć nowy przepływ pracy w Automatorze, a następnie zapisać go jako aplikację do uruchomienia skryptu powłoki. Próbowałem to zrobić, run.sh
ale nie można tego znaleźć run.sh
.
Ktoś zasugerował, że używam AppleScript, a także wysłał mi link do sposobu korzystania z Applecript do przejścia do bieżącego katalogu; w automatorze znajduje się „akcja” jabłkowego skryptu; więc stworzyłem nowy przepływ pracy i zapisałem go jako aplikację. Tak to wygląda:
Kod:
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
I to jest błąd, który pojawia się, gdy go uruchamiam:
No dalej, to powinno być całkiem proste. Co robię tutaj źle?