gpt4 book ai didi

java - 如何从 java 代码将值赋给 shell 脚本中的变量

转载 作者:行者123 更新时间:2023-11-29 08:25:47 24 4
gpt4 key购买 nike

我有一个可变参数(从 Seleium Automation 中的 getText 字段检索),我想将其值分配到 shell 脚本中的特定位置:

在 Java 中,这就是我所做的:

String ref = workcreation.getfield_ref().getText(); 


try { ProcessBuilder pb = new ProcessBuilder("/home/script.sh");
Process p = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);

System.out.println("in " + reader);

}
p.waitFor();

}
catch (IOException e)
{
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}

在脚本 script.sh 中,我想将 ref 的值赋给参数 &ref 的确切位置:

##it is the value of &ref that i want to get 
if [ -d "/data/techVersion_$ref" ]; then
echo "le dossier existe dans cccc "

else
echo " le dossier n'existe pas dans cccc !"
exit
fi

我能做什么?

最佳答案

您可以通过 ProcessBuilder 将参数传递给您的命令/脚本。

在您的 shell 脚本中,您可以读取参数。一个简单的例子是:

ProcessBuilder pb = new ProcessBuilder("/home/script.sh", "hello");

在你的脚本中:

echo "variable set in java: $1"

关于java - 如何从 java 代码将值赋给 shell 脚本中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53335697/

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