2015-07-21 89 views
0

我用Java执行Python的命令,即Java运行时字符串解析

ctool run <cluster_name> <nodes> <command> 

所以基本上这个运行<command>集群的节点给出。例如:

ctool run my_cluster all 'rm -rf /home/tester/folder' 

这运行在“全部”的它运行从终端完全正常,但是当我从Java运行时作为运行此“my_cluster”节点“室射频/家/测试/文件夹”一个字符串,它将<command>中的-p,-r等任意选项作为ctool选项并抛出使用错误。

我假定它是与字符串是如何解析命令。有没有办法解决这个问题?

+1

邮政代码,以便我们可以看到这个问题,如果有一个。 – gbtimmon

+1

显示您用于运行命令的Java代码... –

回答

0

这应该工作:

Process process = new ProcessBuilder("rm","-rf","/home/tester/folder").start(); 
InputStream is = process.getInputStream(); 
InputStreamReader isr = new InputStreamReader(is); 
BufferedReader br = new BufferedReader(isr); 
String out; 
while ((out = br.readLine()) != null) { 
    System.out.println(out); 
}