通过bash脚本执行jar文件
问题描述:
我想从bash脚本中使用java -jar命令执行jar文件。同时,我传递了几个参数,我可以在我的主要方法中使用args []来访问。通过bash脚本执行jar文件
我可以,如果我尝试这样做没有任何问题,
java -jar org.sample.jar localhost 8080
,但我想使这些参数通过几个变量配置。
如: -
HOST=localhost
PORT=8080
当我尝试使用上述类似下列变量,bash脚本就会失败。
java -jar org.sample.jar $HOST $PORT
我也尝试使用“$ HOST”,但没有任何运气。我在这里做错了什么?
UPDATE
我用Cygwin来执行/调试我的bash脚本。一旦我使用git bash执行相同的脚本,它就可以工作。
答
你应该把这个包装在一个bash脚本中并使用bash参数。
假设你将有一个脚本文件sample.sh。
在sample.sh,它只包含一个线,这是java -jar org.sample.jar "[email protected]"
然后通过bash sample.sh -Host hostname -port 8080
Here is a post about how to do this.
UPDATE
执行你的JAR文件中使用的变量bash脚本,您的脚本将如下所示:
Host="localhost"
Port=8080
java -jar org.sample.jar $Host $Port
我正在使用Eclipse,我只写了一个具有主方法并打印所有参数的类。然后我使用Eclipse来导出一个jar文件,然后使用这个解决方案,它工作。
是的,但我的要求是使用我的bash脚本中存在的变量。我不想执行我的bash脚本传递参数。 – udarakr
@udarakr查看我的更新 –
我没有看到任何区别,因为您确实不需要使用“”来定义主机变量。据我所知只有你有一个空格时才需要引号Eg: - 本地主机 – udarakr