Java执行shell脚本,如何知道shell脚本中出现需要用户手动输入的情况?
高洛峰
高洛峰 2016-10-27 09:52:45
0
1
1074

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信 (1)
三叔

如果最简单的办法,就是加超时,如果超时,就算错误,当然有更好的解决办法,这个与你的test.sh中调用的具体运行命令,,真的要进行交互,则使用expect在shell中来处理,如果想用java来处理这个,请用Java Expect

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!