gpt4 book ai didi

java - 将 String 变量从 shell 脚本返回并保存到 Java

转载 作者:行者123 更新时间:2023-11-30 06:37:14 25 4
gpt4 key购买 nike

我想在此脚本中将值保存在一个变量中:

#!/bin/sh
filename=$1

var= $filename | sed 's/\([A-Z]\)/ \1/g';

return var;

(首先,我不确定它是否正确),然后,获取这个值并在我的Java程序中使用它,就像这样:

Process s = Runtime.getRuntime().exec("./CreateTitle.sh "+filename);
OutputStream exitVal = s.getOutputStream();
System.out.println("Process exitValue: " + exitVal.toString());

我想我做错了什么,因为在最后一个 sysout 中,我没有得到想要的结果,但是这个:

Process exitValue: java.io.BufferedOutputStream@3e25a5

有什么帮助吗?提前致谢

最佳答案

您需要的不是 OutputStream。这是您需要的代码

BufferedReader b = new BufferedReader(new InputStreamReader(s.getInputStream()));
String output = "", line = "";
while((line = br.readLine()) != null) {
output += line;
}
System.out.println(output);

你也应该看看马克的回答。他用 shell 脚本解决了这个问题。

编辑:这是修改后的脚本

#!/bin/sh
filename=$1

var = $filename | sed 's/\([A-Z]\)/ \1/g';

echo var;

我不太熟悉 shell 脚本。如果这里有任何问题,请有人纠正我。

关于java - 将 String 变量从 shell 脚本返回并保存到 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776961/

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