Você também pode escolher
!/bin/sh
gnome-terminal -x java -jar /home/askmoo/myfile.jar ""
para primeiro abrir o terminal do gnome e depois executar seu aplicativo java nele. Desta forma, você seria capaz de obter saída impressa para o terminal.
Eu quero fazer um script que execute o arquivo .jar no arquivo selecionado. Mais tarde vou adicionar esse script para clicar com o botão direito do mouse no menu através da ferramenta Nautilus Actions ou simplesmente colocá-lo na pasta nautilus-scripts. Eu tenho um problema ao criar um script.
Quando estou em uma tela de console comum e quero executar esse arquivo jar em qualquer outro arquivo, eu uso essa sintaxe
myfile.jar ./someotherfile.xml
e o arquivo jar gravará a saída na tela do console.
Então criei um arquivo script.sh, adicionei linhas nele
#!/bin/bash
/home/username/myfile.jar
Mas não produz nada. Eu sei que estou fazendo algo errado. Por favor ajude.
Para somar , eu preciso de um script que use o arquivo selecionado como parâmetro, abra o gnome-terminal, dentro desse terminal ele vai iniciar o arquivo JAR e passar o arquivo selecionado.
Estou confiante de que este é um procedimento muito simples, mas sou totalmente inovador com scripts de shell.
Você também pode escolher
!/bin/sh
gnome-terminal -x java -jar /home/askmoo/myfile.jar ""
para primeiro abrir o terminal do gnome e depois executar seu aplicativo java nele. Desta forma, você seria capaz de obter saída impressa para o terminal.
Há sempre um pop-up de "propriedades de clique com o botão direito" para executáveis (e ícones) na área de trabalho e pastas no Gnome, KDE e outros. Eu não tenho certeza de como você faria isso com a extensão de ações do nautilus, mas você sempre pode forçar seu terminal a travar após um comando sair assim:
$ 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
$
dê ao terminal CTRL + C para sair (ou digite yes)
existe também o diálogo properdies: .. ok, eu olhei apenas pelas propriedades do nautilus ... sem sorte (eu odeio o gnome, eles continuam tornando-o mais burro e mais burro)
Ainda está disponível no KDE: (mas id logo use o loop infinite-while), o número de caixas para navegar para chegar a essas configurações é simplesmente impressionante.
./myfile.jar e myfile.jar são dois comandos diferentes. O primeiro executa um arquivo no diretório atual (desde que o bit de execução esteja definido), o último pesquisa $PATH para um programa chamado myfile.jar .
Se $PATH for /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games , ele pesquisará (em ordem):
/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
Eu duvido que o seu arquivo jar seja realmente um executável, se for um Java ARchive, seu shellscript deve ser:
#!/bin/sh
java -jar /home/askmoo/myfile.jar ""