java - 向 ProcessBuilder 添加参数 - Java

标签 java eclipse scripting

我想向 ProcessBuilder 添加参数。我有一个像这样的 shell 脚本“test.sh”

echo "hello"
read user
read pw

我想使用进程生成器调用此脚本“test.sh”,以将用户和密码作为参数。脚本会自动执行此操作。否则我总是必须输入用户名和密码。 用户名和密码始终相同,这就是我想自动执行此操作的原因。

脚本的完整路径位于此处 {/c/users/lia/desktop/test.sh"..}

因此,当我在 git bash 中执行脚本时,它直接在桌面上使用“sh test.sh”,我得到了内容并且工作正常..

在我的字符串中,我有这样的 String[] cmd = {"sh test.sh", "user", "pw"};

当我将它转换为 jar 文件时(我稍后需要它作为 jar 文件),它不起作用。收到消息“找不到文件”

当我这样做时:String [] cmd = {/c/users/lia/desktop/test.sh"..};它不起作用

谢谢大家。

最佳答案

您可以像下面给出的示例一样编写 shell 脚本。

echo "hello"
echo "user $1"
echo "pw: $2"

现在您必须执行 sh test.sh uname1 pwd1。在Java ProcessBuilder中使用该命令来执行。

关于java - 向 ProcessBuilder 添加参数 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56185895/

相关文章:

mysql_query() 的 PHP 登录代码错误

bash - 从脚本 foo 终止 shell 脚本 bar

java - 上传到 FirebaseStorage 之前进行图像压缩

java - 打包应用程序,包括 java war 文件、Tomcat、DB

java - 测试 Java PushbackInputStream 是否包含字符串而不破坏流指针

java - 将共享项目添加到多个项目

java - 每次在多对多关系中插入新数据时,以前的数据都会被删除

Eclipse突然关闭

c - 使用 fopen,c\ubuntu 打开文件

google-chrome - 如何使用 AHK 重新映射 key 以打开和关闭 Google Chrome