gpt4 book ai didi

Java ProcessBuilder 和 bash

转载 作者:行者123 更新时间:2023-12-02 06:15:27 26 4
gpt4 key购买 nike

我正在尝试使用 ProcessBuilder 从 Java 执行 bash 脚本我的代码是:

 Process createUser = buildProcess(
"/bin/su",
"-c",
"\"/opt/somedir/testdir/current/bin/psql",
"--command",
commandForUserCreation,
/* "'select * from users'", */
"--dbname",
"mydbname\"",
"myuser"
);

问题是我收到错误:

 /bin/su: unrecognized option '--dbname'

如果我将 echo 放在命令的第一位,它会在 bash 中打印正确的命令,如果我复制/粘贴此命令,它会起作用!

请帮我解决这个问题。

最佳答案

您需要提供要由 su 作为单个参数执行的整个命令。试试这个:

 Process createUser = buildProcess(
"/bin/su",
"-c",
"/opt/vmware/vpostgres/current/bin/psql --command " + commandForUserCreation + " --dbname mydbname",
myuser
);

关于Java ProcessBuilder 和 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21525705/

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