Ваш пример использует sh
в качестве оболочки, но вы помечаете свой вопрос как bash, поэтому я позволю себе предложить решение bash:
Поскольку вы поставляем ваш jar вместе со стартовым скриптом bash, я бы потребовал, чтобы стартовый скрипт и jar были установлены пользователем в одном каталоге. В своем стартовом скрипте вы можете найти свое собственное местоположение и использовать эту информацию, чтобы найти банку. Как найти это место, уже обсуждалось здесь . Используя один из ответов на этой странице, вы можете сделать следующее:
#!/bin/bash
# Find your own location
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# Invoke the jar
java -jar "$install_dir/monkeykingApplication.jar"
Скорее всего, пользователь добавит каталог стартового скрипта в свою переменную PATH, но это его / ее собственное решение, и вам не нужно заботиться об этом.