我想發送一個命令到linux shell並獲得它的響應java.How我可以這樣做嗎?linux shell和java
0
A
回答
2
您應該看看Runtime
類,以及它的exec()
系列方法。
最好是明確指定要通過shell運行命令,即創建a command line,如"bash -c 'my command'"
。
1
執行的過程是這樣
Runtime.getRuntime().exec("ls");
...那麼你可以得到過程輸入流並用讀卡器讀取它獲得響應
5
0
請注意,您需要同時使用該進程的stdout/sterr ,否則您將獲得特殊的阻止行爲。有關更多信息,請參閱this answer。
0
我寫了一個小班級要做到這一點非常類似的問題幾個星期前:
java shell for executing/coordinating processes?
類基本上讓你做的事:
ShellExecutor excutor = new ShellExecutor("/bin/bash", "-s");
try {
System.out.println(excutor.execute("ls/| sort -r"));
} catch (IOException e) {
e.printStackTrace();
}
相關問題
- 1. Linux shell和sort -t和-k
- 2. Java和Bash shell
- 3. 適用於Java的Linux shell作業API
- 4. Linux shell瞭解
- 5. Python linux shell
- 6. Linux Shell腳本
- 7. Shell腳本 - Linux
- 8. Linux Shell腳本
- 9. 編寫linux shell
- 10. 在Linux shell中
- 11. linux/shell腳本
- 12. 如何在linux shell中求和
- 13. 如何使python和linux shell交互?
- 14. Linux shell中的排序和uniq
- 15. 使用Linux bash shell和Underscore解析JSON
- 16. Java和Linux問題
- 17. 的Linux Shell腳本
- 18. Linux Shell - Grep命令
- 19. Linux shell臨時DNS
- 20. 在Linux shell腳本
- 21. 的linux - shell腳本 - 「$#」
- 22. Meteor for Linux使用Windows 10 Linux bash shell
- 23. JVM和Java Linux進程
- 24. 功能與Linux和Java
- 25. 從Java調用兩臺Linux系統的計算機之間的Linux shell命令
- 26. 如何確定和使用Linux shell腳本中的實際java路徑
- 27. linux shell文件大小
- 28. Linux的shell腳本的sed
- 29. Linux:在子shell中運行
- 30. Linux的shell:如預期
-1不要使用Runtime,只需要ProcessBuilder。 – 2009-11-03 09:36:53
@Aaron Digulla:你可以擴展爲什麼? – 2009-11-03 09:38:28
@Montecristo:請參閱http://java.sun.com/developer/JDCTechTips/2005/tt0727.html#2 – ChristopheD 2009-11-03 10:12:51