Простой скрипт - выполнить команду на выбранном файле

Я хочу создать скрипт, который будет выполнять файл .jar для выбранного файла. Позже я добавлю этот скрипт в контекстное меню с помощью инструмента Nautilus Actions или просто поместу его в папку nautilus-scripts. У меня проблема с созданием скрипта.

Когда я нахожусь на обычном экране консоли и хочу выполнить этот файл jar для любого другого файла, я использую этот синтаксис

myfile.jar ./someotherfile.xml

и jar-файл запишет вывод на экран консоли.

Итак, я создал файл script.sh, добавил в него строки

#!/bin/bash
/home/username/myfile.jar $1

Но он ничего не выводит. Я знаю, что делаю что-то не так. Пожалуйста, помогите.

Для суммирования мне нужен скрипт, который будет использовать выбранный файл в качестве параметра, откроет gnome-терминал, внутри этого терминала он запустит файл JAR и передаст ему выбранный файл.

Я уверен, что это очень простая процедура, но я совершенно новичок со сценариями оболочки.

1
задан 23 June 2011 в 15:20

3 ответа

Вы могли бы также пойти для

!/bin/sh
gnome-terminal -x java -jar /home/askmoo/myfile.jar "$1"

чтобы сначала открыть терминал гнома и затем выполнить Ваше JAVA-приложение в нем. Таким образом, Вы смогли бы быть произведенными распечатанные к терминалу.

2
ответ дан 7 December 2019 в 13:10

./myfile.jar и myfile.jar две различных команды. Первое выполняет файл в текущем каталоге (обеспечение выполнить бита установлено), последние поиски $PATH для названной программы myfile.jar.

Если $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games, затем это ищет (в порядке):

/usr/local/sbin/myfile.jar
/usr/local/bin/myfile.jar
/usr/sbin/myfile.jar
/usr/bin/myfile.jar
/sbin/myfile.jar
/bin/myfile.jar
/usr/games/myfile.jar

Я сомневаюсь, является ли Ваш файл банки действительно исполняемым файлом, если это - Архив Java, Ваш сценарий оболочки должен быть:

#!/bin/sh
java -jar /home/askmoo/myfile.jar "$1"
0
ответ дан 7 December 2019 в 13:10

Всегда существует "всплывающее окно" свойств щелчка правой кнопкой к исполняемым файлам (и значки) на рабочем столе и папках в Gnome, KDE и других. Я не уверен, как Вы пошли бы об этом с расширением действий наутилуса, но можно всегда вынуждать терминал зависнуть после того, как команда выходит как это:

$ cat > /usr/local/bin/har.sh
#!/bin/sh
java -jar /home/jaroslav/tmp/src/hat/bin/hat.jar
while true;do  
read  -p "finished reading? " quit; 
[[ "$quit" == "yes" ]] && exit
done 

$ chmod 755 /usr/local/bin/hat.sh
$ hat.sh

Usage:  hat [-stack=<bool>] [-refs=<bool>] [-port=<port>] [-baseline=<file> -debug=<int>] [-version] <file>

        -stack false:     Turn off tracking object allocatoin call stack.
        -refs false:      Turn off tracking of references to objects
        -port <port>:     Set the port for the HTTP server.  Defaults to 7000
        -exclude <file>:  Specify a file that lists data members that should
                          be excluded from the reachableFrom query.
        -baseline <file>: Specify a baseline object dump.  Objects in
                          both heap dumps with the same ID and same class will
                          be marked as not being "new".
        -debug <int>:     Set debug level.
                            0:  No debug output
                            1:  Debug hprof file parsing
        -version          Report version number
        -donationware     Give information on the status of HAT
        <file>            The file to read

For a JDK 1.2 (or better) dump file, you may specify which dump in the file
by appending "#<number>" to the file name, i.e. "foo.hprof#3".

All boolean options default to "true"

finished reading? no
finished reading? ^C
$

дайте терминальный CTRL+C, чтобы выйти (или ввести да)

существует также диалоговое окно свойств:.. хорошо я просто просмотрел свойства наутилуса... никакая удача (я, f* ненавидят гнома, они продолжают делать это более немым и более немым),

Его все еще доступный в KDE: (но идентификатор как скоро просто использование бесконечный цикл с условием продолжения), количество полей для навигации для получения до тех настроек является просто подавляющим.
omg-so-many-boxen

1
ответ дан 7 December 2019 в 13:10

Другие вопросы по тегам:

Похожие вопросы: