Я пытаюсь запустить программу через переменную, и она читает run.sh
прекрасный, но это сталкивается с проблемами при попытке запуститься .jar
файл.
Нормальное выполнение run.sh
хорошо работает и это запускает программу, как Вы видите ниже.
В чем проблема?
:~$ HAVEN=Desktop/Haven/run.sh
:~$ echo $HAVEN
Desktop/Haven/run.sh
:~$ $HAVEN
Error: Unable to access jarfile hafen.jar
:~$ cd Desktop/Haven
:~/Desktop/Haven$ ./run.sh
:~/Desktop/Haven$
Походит run.sh
использует относительные пути. Ваш текущий рабочий каталог, когда Вы выполняете его от ~/
~/
нет ~/Desktop/Haven
.
Можно зафиксировать это cd
луг к каталогу сценария где-нибудь около начала run.sh
, с чем-то вроде этого:
cd "$(dirname "$(readlink -f -- "$0")")"
Это, или у Вас мог быть он, указывают полные пути к Вашим банкам.
В случае, если любая переменная не работает, можно указать двоичный путь команды.
как.. Если Вы используете команду CP, и она не работает, можно упомянуть/bin/cp (Двоичный файл для этой команды). Тем же способом можно использовать в Вас случай согласно требованию.