2016-05-13 23 views
0

我正在編寫一個腳本,用於獲取用戶的某些輸入。現在我有3個變量:2個字符串和一個數組。我能夠將我的2個字符串傳遞給main,但是我不知道如何將數組傳遞給其他字符串。如何將數組從腳本傳遞到main(args [])

這就是我現在所擁有的

java $myJava $var1 $var2 $array 

Java的主要只接受一個String數組,所以VAR1和VAR2工作得很好,但我怎麼能傳遞我的陣列,它由不同數量的來自用戶的輸入?有沒有一種方法可以將我的數組轉換爲多個變量,然後將其傳遞給main?

+0

Java的主要接受可變參數爲好。 'main(String ... args)'。 – Gendarme

+0

'var2'後面的每個參數都是簡單的數組......只是複製到另一個數組 – 3kings

+0

@Gendarme,是的,但是這怎麼解決OP的問題呢?使用varargs語法來拼寫'main()'方法的簽名實際上並不會改變它呈現的接口。 –

回答

3

如果$array是一個實際的Bash數組,那麼你只想做

java $myJava "$var1" "$var2" "${array[@]}" 

這將提取陣列爲多個位置參數(例如,它是用declare -a array,或其他猛砸陣列創作手法申報),所以這傳遞到您的mainargs陣列將

{ var1 , var2 , array[0] , array[1] , array[2] , ... } 
相關問題