0
我試圖運行的Linux命令(管道)如何從Java
使用像運行Linux命令:
Runtime.getRuntime().exec("rpm -qa | grep "Uploader" | xargs rpm --queryformat "%{VERSION}" -q");
,但我得到的結果只輸出「 rpm -qa「
你能幫忙嗎?
感謝
我試圖運行的Linux命令(管道)如何從Java
使用像運行Linux命令:
Runtime.getRuntime().exec("rpm -qa | grep "Uploader" | xargs rpm --queryformat "%{VERSION}" -q");
,但我得到的結果只輸出「 rpm -qa「
你能幫忙嗎?
感謝
只有殼瞭解管道,你可以用你想運行的命令調用shell:
exec(new String[]{"/bin/sh", "-c", "rpm -qa | grep \"Uploader\" | xargs rpm --queryformat \"%{VERSION}\" -q"});
你可以嘗試把你的命令的腳本並調用。有多個參數時,Java會感到困惑。 –
Java和rpm都不知道管道。殼牌知道管道。所以你最好的選擇是把你的管道包裝在一個小的shell腳本中並執行它! –
[想從Java調用linux shell命令]可能的副本(http://stackoverflow.com/questions/1410741/want-to-invoke-a-linux-shell-command-from-java) –