Моя мета - включити в zip-файл те, що становить ярлик, замість того, щоб сказати моєму клієнтові відкрити термінал і запустити скрипт оболонки.
Мій розгортаний по суті виглядає так:
$ unzip Deliverable.zip
$ cd Deliverable; ls
app.jar run.sh
Сценарій run.sh
:
#!/bin/sh
java -jar app.jar
У довіднику набагато більше; достатньо сказати, що мені потрібно запустити скрипт із каталогу Deliverable, оскільки мені потрібно отримати доступ до шляхів відносно нього. Однак я не можу гарантувати, де клієнт відкриється Deliverable.zip
(може бути домашній каталог, може бути прямо в каталозі завантажень тощо).
Я знайшов це, що описує, як створити новий робочий процес в Automator, а потім зберегти його як додаток для запуску скрипта оболонки. Я намагався зробити це, щоб завернути, run.sh
але він говорить, що не може знайти run.sh
.
Хтось запропонував мені використовувати applescript, а також надіслав мені посилання про те, як використовувати яблучний сценарій для переходу в поточний каталог; є автоматизатор "дії" в яблуці; тому я створив новий робочий процес із цим і зберег його як додаток. Ось так виглядає:
Код:
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
І це помилка, яку я отримую, коли запускаю її:
Скажімо, це має бути досить просто. Що я тут роблю неправильно?