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