私は他のモジュールが呼び出すperlサブルーチンを所有しています。環境変数JAVA_HOMEを設定するシェルスクリプトsetjavaenv.shとバッチスクリプトsetjavaenv.batがあります。 setjavaenv.shで設定されたJAVA_HOMEを使用して、サブルーチンからJavaプログラムを呼び出す必要があります。新しいシェル/バットスクリプト(おそらく値を表示する)を書かずにこれを行う方法はありますか?シェルスクリプトで設定したperlプログラム環境変数を取得する
my subroune {
#system("setjavaenv.sh") #Doesn't work since it probably spawns a new env.
my $javaHome = $ENV{JAVA_HOME};
system("$javaHome/bin/java MyProgram");
}
感謝。私はlinux/shell - system( "sh -c \" source setjavaenv.sh; env; \ "")の代わりに答えを得てそれを解析します。しかし、まだバットのための手掛かりはありません。 –