2017-09-14 13 views
-1

環境に応じて、「動的」shスクリプトを作成する必要があります。 どの環境でも、Javaは別の場所にあります。これは動作しません"which java"コマンドを変数に格納する方法は?

var=`which java` 
nohup $var -Xmx2048m -jar javaProgram.jar $* -d javaProgramResource -re > /nfs/inf/app_storage/logs/service/service_refresh.log 2>&1 & 

:私がする必要がどのような

は、このような何かを変数にコマンドの「Java」を格納し、コマンドで変数を呼び出すことです。それは私が手動でコマンドにJavaのパスを入れたときに動作しますが、このように動作しません。..

+2

値を第2のコマンドに渡す前に出力をエコーし​​ます。ほとんどの場合、フォーマットに問題があります。 –

+5

'$ var'の代わりに' java'を直接書くのはなぜですか? 'java'コマンドはディレクトリが' PATH'にある限り実行されます。 –

+1

あなたのデザインがかなり悪い(前のコメントは正しい)という事実以外に、_これはうまくいきません_(それ以上の説明なし)は役に立たないです。 –

答えて

1

このようにそれを試してみてください。

var=$(which java)

参考:

http://www.gnu.org/software/bash/manual/bashref.html#Command-Substitution

+2

これは何も修正するつもりはありません。この場合、バッククォートと '$(...)'は両方ともまったく同じように。 –

+0

私は近くにいた!私のバージョンはvar = $( "which java") –

+0

私は今、次の問題があります。私は構文が何とか間違っていると思う。これは私が得るエラーメッセージです: nohup:無効なオプション - 'X'。 Java Pathは変数に格納されます。 –

関連する問題