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

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

大家讲道理
大家讲道理

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

répondre à tous(1)
巴扎黑

Si le moyen le plus simple est d'ajouter un délai d'attente, s'il expire, ce sera une erreur. Bien sûr, il existe une meilleure solution si vous souhaitez vraiment interagir avec la commande en cours d'exécution spécifique appelée dans votre test.sh. , utilisez Expect est géré dans le shell. Si vous souhaitez utiliser Java pour gérer cela, veuillez utiliser Java Expect

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal