简体   繁体   English

如何将数组从脚本传递给main(args [])

[英]How to pass in an array from a script to main(args[])

I am writing a script that grabs some input from the user. 我正在编写一个脚本,可以从用户那里获取一些输入。 Right now I am have 3 varaibles: 2 strings and one array. 现在我有3个变量:2个字符串和一个数组。 I am able to pass in my 2 strings just fine to main, but I do not know how to pass in the array along with the rest. 我可以将我的2个字符串传递给main,但我不知道如何将数组与其余字符串一起传递。

This is what I have right now 这就是我现在所拥有的

java $myJava $var1 $var2 $array

Java's main accepts only an array of String, so var1 and var2 work just fine, but how can I pass in my array, which consists of variable number of inputs from the user? Java的main只接受一个String数组,因此var1和var2可以正常工作,但是如何传递我的数组,该数组由用户可变数量的输入组成? Is there a way that I can convert my array to numerous variables and then pass it into main? 有没有一种方法可以将数组转换为多个变量,然后将其传递给main?

If $array is an actual Bash array (eg it was declared using declare -a array , or another Bash array creation technique) then you just want to do 如果$array是一个实际的Bash数组(例如,它是使用declare -a array或另一种Bash数组创建技术声明的),那么您只想做

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

That will extract the array into multiple positional arguments, so that the args array that is passed into your main will be 这会将数组提取到多个位置参数中,以便传递到您的main中的args数组将是

{ var1 , var2 ,  array[0] , array[1] , array[2] , ... }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM