gpt4 book ai didi

java - 如何使用 java 将参数传递给 shell 脚本?

转载 作者:行者123 更新时间:2023-12-01 22:53:07 30 4
gpt4 key购买 nike

我编写了一个调用 shell 脚本的代码:

 ProcessBuilder pb2=new ProcessBuilder("/home/abhijeet/sample1.sh");
Process script_exec = pb2.start();
pb2.redirectError();

代码对我有用,因为它执行脚本。

该脚本需要两个参数 1:输入文件 2:seqs ,其模式如下:

 sample1.sh -ip=abc.txt --seqs=20

Shell 脚本是交互式脚本,需要许多参数,因此我更改了它的代码,并将这些值作为参数传递给它。所以完整的格式应该是这样的:

db=abc outformat=1 threads=10 sample1.sh --ip=abc.txt --seqs=20

那么我如何使用java执行这个脚本呢?还有其他方法可以使用java调用交互式脚本吗?

最佳答案

你可以试试这个:

 ProcessBuilder pb2=new ProcessBuilder("/home/abhijeet/sample1.sh --ip=abc.txt --seqs=20");
Process script_exec = pb2.start();
OutputStream in = script_exec.getOutputStream();
in.write("abc".getBytes());
in.write("1".getBytes());
in.write("10".getBytes());
in.flush();
in.close();

此代码写入 abc、1 和 10 来处理输入。

关于java - 如何使用 java 将参数传递给 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24450708/

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