Путь к папке exec в сценарии bash в контейнере .app

Я пытаюсь создать .app, который будет запускать простой скрипт bash для запуска java-приложения. Я нашел инструкции по созданию подходящего контейнера .app, и запуск .app запускает мой bash. Большой.

Проблема в том, что я хочу поместить свое java-приложение в .app, но я не уверен, как заставить мой bash-скрипт запустить его.

Вот мой текущий скрипт:

#! /bin/sh

/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar -Xmx1g javaapp.jar&

Скрипт запускается и тут же выключается. Я предполагаю, потому что он не может найти /java или javaapp.jar, которые я поместил в контейнер .app в ту же папку, что и скрипт bash (MacOS)


person Darren    schedule 29.04.2015    source источник
comment
Вы хотели ввести пробел перед конечным амперсандом?   -  person malfunctioning    schedule 29.04.2015
comment
Это не имело значения, спасибо.   -  person Darren    schedule 29.04.2015
comment
Начните свой сценарий с #!/bin/bash -x, что даст вам вывод отладки. Тогда вы сможете увидеть, что происходит.   -  person vastlysuperiorman    schedule 29.04.2015
comment
Хотя отладке деваться некуда. Он не открывает оболочку.   -  person Darren    schedule 29.04.2015
comment
Правильное замечание... Я предполагаю, что вы проверили, является ли скрипт исполняемым? Кроме того, не могли бы вы опубликовать ссылку на инструкции, которым вы следовали, чтобы мы могли воспроизвести?   -  person vastlysuperiorman    schedule 29.04.2015
comment
Вот как я его создал, mathiasbynens.be/notes/shell-script-mac-apps он просто создает правильную структуру папок. Я подтвердил, что скрипт работает, добавив osascript -e "tell app \"System Events\" to display dialog \"Testing\""   -  person Darren    schedule 29.04.2015
comment
Добавьте 1>>/Users/[you]/jar.log 2>&1 в конец строки, вызывающей банку. Затем вы получите любой вывод команды (stdout или stderr), записанный в файл журнала. Это может, по крайней мере, дать вам подсказку, если есть проблема с запуском банки. Кроме того, вы запускаете банку с &, чтобы запустить ее в фоновом режиме. Возможно, вы также захотите запустить его с nohup, чтобы он не закрывался после завершения родительского скрипта (например, nohup command args >> output.log 2>&1 &).   -  person vastlysuperiorman    schedule 29.04.2015
comment
Спасибо. Если я поставлю .jar на свой рабочий стол и укажу путь в bash, он будет работать нормально. Если я помещу его в пакет .app рядом с bash и использую ./my.jar, я получу ошибку: невозможно получить доступ к jarfile ./my.jar   -  person Darren    schedule 30.04.2015