从Java ProcessBuilder运行的shell中的安卓显示提示
我运行sh
shell进程,如下所示:
ProcessBuilder pb = new ProcessBuilder();
pb.command("sh");
Process p = pb.start();
然后我将命令推入其OutputStream,并从其InputStream读取输出。一切正常-我有一个外壳
但是shell没有提示。如果我通过adb在设备上运行“sh”,我会得到一个提示。我可以使用PS1=blah
更改提示。但是当从ProcessBuilder
运行sh
时,没有提示
我怎样才能显示提示
# 1 楼答案
诀窍是强制shell以“交互”模式运行——相当于使用
sh -i
:这是可行的,但不幸的是,人们抱怨找不到tty fd。我现在可以接受