Como executar o programa Java no script Bash e dar a ele um argumento?

2

Eu adicionarei um item em um menu de contexto, chamado " Open with ABC ". Este menu de contexto aparece quando clico com o botão direito em uma pasta.

Quando o " Open with ABC " for selecionado, ele iniciará um programa em Java, " abc.class ".

Esse programa em Java precisa do " caminho do diretório " da pasta escolhida, como argumento .

Como será meu script Bash?

Informações que você pode precisar:

  • java : usr/bin/java
  • programa Java do abc : home/john/myapp/abc.class
  • O script será colocado dentro de home/john/.config/caja/scripts
  • O joão é meu nome de usuário para Linux Mint MATE 17.2 , com caja como gerenciador de arquivos

As perguntas abaixo podem estar próximas do meu problema:

por Takeru 19.10.2015 / 10:38

2 respostas

0

Meu script Bash é assim:

#!/bin/bash
java -cp "$HOME/myapp" abc $CAJA_SCRIPT_SELECTED_FILE_PATHS

Explicações:

Desde que meu programa foi colocado aqui:

/home/john/myapp/abc.class

  • Sempre devo usar as opções -cp java para localizar primeiro o programa "abc".
  • O $ HOME representa meu diretório inicial, /home/john ,
  • A variável de ambiente $CAJA_SCRIPT_SELECTED_FILE_PATHS representa o caminho da pasta que selecionei , que acabou sendo passada como argumento para o programa "abc".

Note que esta solução é feita em ambiente específico caja - sem garantia de trabalhar noutro local.

Créditos para @pranav , obrigado.

    
por 21.10.2015 / 17:34
0

Há a ferramenta de segurança do Caja-actions para adicionar a abertura com o ABC no menu de contexto.

Existe uma aba de comando na ferramenta Caja Action, onde você pode fornecer o caminho do script e o argumento do diretório. Aqui está uma imagem da ferramenta link

seu script seria parecido com

!/bin/bash
usr/bin/java [options] home/john/myapp/abc.class $*
    
por 19.10.2015 / 11:49