2017-10-11 63 views
1

我必須編寫兩個腳本,一個編譯我的代碼,另一個腳本運行它。我設法編譯該腳本代碼:在我的Java代碼中使用shell腳本中的參數

#!/bin/bash 
javac SimilaridadeP.java 

,我能使用這個腳本來運行它:

#!/bin/bash 
java SimilaridadeP 

的問題是,我需要執行下面這個命令我的第二個shell腳本:

./execute.sh input output 

其中輸入和輸出是我將在我的Java代碼中使用的文件的名稱。我現在面臨的問題是,我不知道如何在Java代碼中使用這兩個名稱。

到目前爲止,我管理使用此代碼來獲得這兩個名字:

#!/bin/bash 
in=$1 
out=$2 
java SimilaridadeP 

但由於「SimilaridadeP」是我的java文件的名稱,它不能被稱爲等的方法與參數我很親切丟失。

回答

3

如果您的Java代碼已經在讀的命令行參數,它只是一個改變的bash這樣的事情:

#!/bin/bash 
java SimilaridadeP "$1" "$2" 
+0

喜, 謝謝回覆!所以我在Java類中的類似於C中的scanf。我主要懷疑的是如何讀取命令行參數。 –

+0

我沒有添加任何驗證,但這裏是基本的:public static void main(String [] args){String parm1 = args [0]; String parm2 = args [1]; .....} – imerso

+0

非常感謝!它工作得很好。 –