Java:
ProcessBuilder pb = new ProcessBuilder("./test.sh");
pb.directory(new File(shellFileDir));
Process p = pb.start();
p.waitFor();
Shell:
...
read -p "please input:"
...
运行shell脚本,但是shell脚本中有需要用户输入的内容,如果出现这种情况,Java这里就卡住了,我想当shell出现用户输入内容的情况时,Java能获取到这种情况,并且当异常处理,在Java中或者在shell中应该怎么更改?
如果最简单的办法,就是加超时,如果超时,就算错误,当然有更好的解决办法,这个与你的test.sh中调用的具体运行命令,,真的要进行交互,则使用expect在shell中来处理,如果想用java来处理这个,请用Java Expect