从 shell 脚本启动 jar 时导出被忽略?

问题描述 投票:0回答:1

我有一个非常基本的 shell 脚本,大致类似于:

#!/bin/bash
export MYVAR=1
java -jar myjar.jar

在我们的某些机器上,

myjar
应用程序抱怨
MYVAR
未定义。

这种行为是预期的吗?有什么“好的”解决方法吗?我预计这个程序有 10-20 个导出,并且不喜欢将它们全部捆绑到一条线上。

谢谢

java linux shell scripting sh
1个回答
0
投票
goose@t410:/tmp$ ./bashjava 
java -jar myjar.jar was invoked
goose@t410:/tmp$ echo $MYVAR

goose@t410:/tmp$ source ./bashjava 
java -jar myjar.jar was invoked
goose@t410:/tmp$ echo $MYVAR
1
goose@t410:/tmp$ unset MYVAR
goose@t410:/tmp$ echo $MYVAR

goose@t410:/tmp$ . bashjava 
java -jar myjar.jar was invoked
goose@t410:/tmp$ echo $MYVAR
1

请参阅我上面的评论。 (使用 your 脚本),您需要

source
将变量导出到 shell 的脚本

© www.soinside.com 2019 - 2024. All rights reserved.