gpt4 book ai didi

java - 如何向 shell 脚本中调用的 java 应用程序提供用户输入?

转载 作者:行者123 更新时间:2023-12-01 16:51:47 26 4
gpt4 key购买 nike

我有一个 shell 脚本 test.sh,它在内部调用 Java 应用程序 MyApp。

#!/bin/bash
# Invoking MyApp
java MyApp

MyApp 从控制台读取 2 个参数,用户名和密码。运行此脚本将执行 Java 应用程序,该应用程序将提示用户输入用户名和密码

Username: user
Password: ****

我想自动执行这个 shell 脚本。如何将用户名和密码作为参数传递给脚本 test.sh?

我尝试过的:

对包含参数的文件使用间接运算符

$ ./test.sh <input

使用上述方法的快捷方式

$ ./test.sh <<!
user
password
!

在这两种情况下,MyApp.java 中的 Console console = System.console();console 设置为 null。

PS:寻找在不修改脚本或 Java 应用程序的情况下完成此任务的方法。 “不行,这不能这么做!”也是一个可以接受的答案。

最佳答案

Echo可用于通过管道 (|) 输入到任何程序:

echo -ne "user\npassword\n" | java MyApp

(此处换行符 \n 表示按下返回键,-n 停止 echo 附加另一个换行符,-e 启用换行符的插入)

关于java - 如何向 shell 脚本中调用的 java 应用程序提供用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com