我以前问过同样的问题,但没有答案,也发现了类似这个问题here和here但同样没有适当的答案的一些其他问题。 任何人都可以请帮我解决这个问题。我试图从Java打开一个shell并与之交互(编写命令并读取shell的输出)。这些命令将由用户给出,例如更改目录,编译C程序等。命令列表不固定。打开外壳和交互使用Java
我也试过并使用/ bin/bash -c方法以及以下内容。
Process p = new ProcessBuilder("xterm").start();
Process p = new ProcessBuilder("/bin/bash").start();
谢谢,我希望问题清楚。可行的解决方案的
如果你的Java程序是正在执行的“导演”为外壳,或者它旨在运行shell,并提供与它进行交互用户的能力? – user3159253
我想用重定向的某个目录启动shell(Java将使用cd命令更改shell的目录)。一旦开始,我希望用户可以与之交互。 – sol
如果你想开始一个interractive壳,你真的需要启动虚拟终端,只是外壳是不够的。外壳只处理命令,启动过程和他们联系在一起,但它是不是显示在一个盒子 – Mzzl