發現這很棘手;具有下列代碼: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*";
,則輸入流將爲空。
現在,我認爲這將是與交互式shell所做的字符串擴展有關的東西(在這種情況下,我不會使用它)。在這種情況下,*
將沒有意義,find
將尋找名爲「*」的文件(如\*
)。所以我試圖讓我的命令爲sh -c "find /home/folder/ -type f -name somefile*"
。但它也沒有工作...
我錯過了什麼?
謝謝,
f。
Ps .:這是一個AIX機箱,帶有IBM的Java JVM。使用find
當
是否如期望從終端find命令的工作? – 2011-05-26 10:09:39
是的,它確實.... – filippo 2011-05-26 11:09:31