Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以发送地图入口集';将java程序中的键和值作为shell脚本的参数?_Java_Shell_Map_Key - Fatal编程技术网

是否可以发送地图入口集';将java程序中的键和值作为shell脚本的参数?

是否可以发送地图入口集';将java程序中的键和值作为shell脚本的参数?,java,shell,map,key,Java,Shell,Map,Key,我正在尝试这样做: String[] cmdArray = new String[{"/Users/my/path/to/test.sh", mapEntry.getKey(), mapEntry.getValue()}; Process process = Runtime.getRuntime().exec(cmdArray); 其中,mapEntry.getKey和mapEntry.getValue()作为shell脚本的变量值发送。 是否可以这样做,或者是否有其他方法将映射的键和值作为

我正在尝试这样做:

String[] cmdArray = new String[{"/Users/my/path/to/test.sh", mapEntry.getKey(), mapEntry.getValue()};
Process process = Runtime.getRuntime().exec(cmdArray); 
其中,mapEntry.getKey和mapEntry.getValue()作为shell脚本的变量值发送。
是否可以这样做,或者是否有其他方法将映射的键和值作为参数发送到shell脚本

不是作为一个单行程序,而是使用一个循环相当简单。您可能会发现使用集合然后将该集合转换为数组更容易。比如:

List<String> cmdList = new ArrayList<String>();
cmdList.add("/Users/my/path/to/test.sh");
for(Map.Entry entry : map.entrySet()) {
    cmdList.add(entry.getKey().toString());
    cmdList.add(entry.getValue().toString());
}
Process process = Runtime.getRuntime().exec(cmdList.toArray(new String[cmdList.size()]));
List cmdList=new ArrayList();
添加(“/Users/my/path/to/test.sh”);
对于(Map.Entry:Map.entrySet()){
添加(entry.getKey().toString());
添加(entry.getValue().toString());
}
Process Process=Runtime.getRuntime().exec(cmdList.toArray(新字符串[cmdList.size()]);