A variável shell não está funcionando

3

Estou tentando iniciar um programa por meio de uma variável e ele lê run.sh fine, mas tem problemas ao tentar iniciar o arquivo .jar .

A execução normal de run.sh funciona bem e inicia o programa como você pode ver abaixo.

Qual é o problema?

:~$ 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$ 
    
por Johnny Louweret 29.03.2016 / 11:12

2 respostas

4

Parece que run.sh está usando caminhos relativos. Seu diretório de trabalho atual quando você o executa a partir de ~/ is ~/ não ~/Desktop/Haven .

Você pode corrigir isso por cd ing para o diretório do script em algum lugar próximo ao início de run.sh , com algo assim:

cd "$(dirname "$(readlink -f -- "$0")")"

Isso, ou você poderia especificar os caminhos completos para seus frascos.

    
por Oli 29.03.2016 / 11:19
0

Caso alguma variável não esteja funcionando, você pode especificar o caminho binário do comando.

like .. Se você usar o comando cp e ele não funcionar, você pode mencionar / bin / cp (Arquivo binário para este comando). Da mesma forma que você pode usar em seu caso como por a exigência.

    
por Lokendra Singh 29.03.2016 / 15:25