2017-07-06 208 views
-4

我想編寫一個bash腳本來執行jar文件。在bash腳本中執行jar文件

的事情是我不能只寫Java的罐子filename.jar導致它的要去有好幾個版本,如:

文件名,v1.0.jar

文件名,v1.5.jar

filename-v2.0.jar

但我不希望有機會的腳本。有沒有辦法只寫像java -jar文件名$ .jar什麼的?

+1

告訴我們你試過 – Edwin

+0

並解釋說法你的腳本如何知道你真的想要運行哪個文件。 –

回答

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執行。 –

0

內bash腳本使用$ 1

Java的罐子$ 1

,然後通過罐子名作爲參數傳遞給您的腳本。

SH runjar.sh filename.jar 〜

0

你可以做

#!/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