在bash脚本中执行jar文件

问题描述:

我想编写一个bash脚本来执行jar文件。在bash脚本中执行jar文件

的事情是我不能只写Java的罐子filename.jar导致它的要去有好几个版本,如:

文件名,v1.0.jar

文件名,v1.5.jar

filename-v2.0.jar

但我不希望有机会的脚本。有没有办法只写像java -jar文件名$ .jar什么的?

+1

告诉我们你试过 – Edwin

+0

并解释说法你的脚本如何知道你真的想要运行哪个文件。 –

首先看看您的IDE选项是否可以帮助您。

一个选项可以是在同一个目录下有一个版本文件。该文件将包含版本号,您可以在需要时更改它。那么你的命令将是下一个:

java -jar filename`cat version`.jar 

这是一个简单的选项。然后,您可以控制执行版本,只更改此文件中的内容。

如果你寻找一个模式做这样的事情:通过这个命令报道

java -jar `ls | grep "pattern"` 

您的所有文件都会被Java执行。

+0

我不能在终端中使用类似自动完成的东西吗?我的意思是确定该文件将类似于“123”,其他所有文件将是“abc” – Sech

+0

你的bash脚本将是一个独立的进程,你可以让它问问版本,或者你可以通过param传递版本,但不会没有规范的“自动完成”。 –

+0

你可以做的是找到一个模式,如果你知道哪个模式将执行下一个命令: java -jar'ls | grep“123”' 包含“123”的所有文件都将由java执行。 –

内bash脚本使用$ 1

Java的罐子$ 1

,然后通过罐子名作为参数传递给您的脚本。

SH runjar.sh filename.jar 〜

你可以做

#!/bin/bash 
java -jar $1 // or filename-$1.jar or $1.jar 

然后给它像

myscript.sh filename-v1.0.jar // or v1.0 or filename-v1.0