LinuxForum.Fans
Тема

Sh-скрипт

Автор: lopu 5 сообщений 3746 просмотров
#62586

Как составить sh скрипт для запуска java приложения, который бы определял и подставлял рабочий путь к запускающему файлу (jar файл).
вот пример, в котором приходится в ручную прописывать рабочий путь: cd <рабочий путь>;java -jar <file.jar>

#62722

попробуйте воспользоваться пакетом dialog. Автоматом писат не будет, но и ручками не так много придется делать. Правда, прогу предварительно написать на dialog придется

#62733
text
#!/bin/bash
FILE=`zenity --file-selection --multiple`

if [ ! $FILE ] ; then exit 3 fi java -jar $FILE

#62878
lopu написал:
Как составить sh скрипт для запуска java приложения, который бы определял и подставлял рабочий путь к запускающему файлу (jar файл).
вот пример, в котором приходится в ручную прописывать рабочий путь: cd <рабочий путь>;java -jar <file.jar>

Не совсем понятно какую цель нужно достичь.
С учетом того что я смог понтять, то для запуска радом лежащего файла достаточно:

text
$ cat /tmp/start_script.sh
#!/bin/sh
echo java -jar `dirname $0`/file.jar

$ export PATH=$PATH:/tmp $ chmod +x /tmp/start_script.sh

$ start_script.sh java -jar /tmp/file.jar

#63111
lopu написал:
вот пример, в котором приходится в ручную прописывать рабочий путь: cd <рабочий путь>;java -jar <file.jar>

вам нужно найти и выполнить файл? что вам известно про него? имя знаете? тогда
find / -name "file_name.jar" -exec java -jar {} \;
данная команда отыщет все файлы, и их выполнит.
а вот поиск каталога, и переход туда:
find . -name "file_name.jar" | sed -rn 's~(.*/)([^/]+)$~cd "\1"; ls -l "\2"~pe; T; p; q'

тут команда поиска найдёт file_name.jar, а затем sed отрежет имя каталога, перейдёт в него, и выполнит команду ls -l для данного файла. Вы этого хотели?

(да, такие скрипты довольно опасны, если злоумышленник может подсовывать свои файлы таком скрипту. жить вообще страшно)

Войдите или зарегистрируйтесь, чтобы ответить.