java-ee - Java执行shell脚本,如何知道shell脚本中出现需要用户手动输入的情况?
大家讲道理
大家讲道理 2017-04-18 10:08:57
0
1
362

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中应该怎么更改?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(1)
巴扎黑

如果最簡單的辦法,就是加超時,如果超時,就算錯誤,當然有更好的解決辦法,這個與你的test.sh中調用的具體運行命令,,真的要進行交互,則使用expect在shell中來處理,如果想用java來處理這個,請用Java Expect

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板