gpt4 book ai didi

java - 具有多个字符串参数的 Bash 脚本

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

我在分离两个字符串变量作为 bash 脚本的参数时遇到问题。我的 bash 脚本有两个参数,如下所示:

#!/bin/bash


DATA1=$1
DATA2=$2

但是,DATA1 和 DATA2 不是我想要的,因为 bash 错误地读取了我的字符串。 DATA2 只是我想提出的论点的第一部分,因为我无法将一个复杂(相对)的字符串变成一个论点。

我使用如下变量从 Java 应用调用此脚本:

String m1 = "some data";
String m2 = "some more"+mystring+"even more data"+anotherstring;


myscript.sh m1 m2

只有 m2 的第一部分被传递给 bash 脚本中的 DATA1。我试过将整个内容用单引号和双引号引起来,我无法让它接受整个 m2 作为第二个参数。

感谢您在创建两个字符串参数方面的任何帮助。

最佳答案

它对我有用,请参阅:

Runtime.getRuntime().exec(new String[]{"/bin/sh", "/tmp/myscript.sh", m1,m2});

您的代码调用:Runtime.getRuntime().exec(String)

它调用方法 exec(command,null,null)(请参阅 src.zip 中的源代码)exec(String command, String[] envp, File dir) .

方法 exec(String command, String[] envp, File dir) 通过 StringTokenizer 解析命令。所以文本 "some data""\"some data\"" 被拆分为 some data (或“一些 数据”)

关于java - 具有多个字符串参数的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004606/

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