Java如何执行终端命令?
|
发现这很棘手;具有以下代码:
String cmd = \"find /home/folder/ -type f\";
Runtime run = Runtime.getRuntime() ;
Process pr = run.exec(cmd);
pr.waitFor();
我将得到pr.getInputStream()
,并在那里得到正确的find
结果,没问题。但是,如果我想更具体一些,并将命令设为cmd = \"find /home/folder/ -type f -name somefile*\";
,则输入流将为空。
现在,我认为这与交互式外壳程序完成的字符串扩展有关(我想在这种情况下不会使用)。在这种情况下,*
将没有任何意义,ѭ2be将寻找真正名为\“ * \”的文件(类似于\\*
)。因此,我尝试将命令设为sh -c \"find /home/folder/ -type f -name somefile*\"
。但这也不起作用...
我想念什么?
谢谢,
F。
附言:这是一个AIX框,带有IBM的Java JVM。
没有找到相关结果
已邀请:
2 个回复
缮淳彼誊
时,我总是转义通配符:
捐焦