gpt4 book ai didi

java - 如何在 java 中为 bash 脚本传递参数?

转载 作者:行者123 更新时间:2023-11-29 09:42:40 25 4
gpt4 key购买 nike

我有以下命令可以通过我的 java 程序运行;

./kafka-topics.sh --zookeeper zk1.xx.com:2181,zk2.xx.com:2181,zk3.xx.com:2181 --delete --topic testTopic

我称这个 bash 脚本为:

ProcessBuilder builder = new ProcessBuilder(CConstants.KAFKA_TOPIC_SH);
builder.command("--zookeeper","zk1.xx.com:2181,zk2.xx.com:21811,zk3.xx.com:2181",
"--delete", "--topic", "testTopic");
builder.start();

但是我得到以下错误;

java.io.IOException: Cannot run program "--zookeeper": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[?:1.8.0_66]
at

如何使用参数运行 bash 脚本?

这里

  • --zookeeper,--delet,e --topic 是参数
  • 其他是这些参数的参数

最佳答案

您得到的错误表明您的第一个参数被解释为命令名称。试试这个:

ProcessBuilder builder = new ProcessBuilder();
builder.command(CConstants.KAFKA_TOPIC_SH,"--zookeeper","zk1.xx.com:2181,zk2.xx.com:21811,zk3.xx.com:2181",
"--delete", "--topic", "testTopic");
builder.start();

关于java - 如何在 java 中为 bash 脚本传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40070045/

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