【发布时间】:2014-03-26 15:30:31
【问题描述】:
我有一个字符串数组,其中包含一个单独的命令 - 每个参数位于不同的单元格中。
我想要一个获取字符串数组并使用它来准备语义合法的完整命令的方法(即处理特殊字符,例如<space>、大括号等)。然后,它应该将完整的命令作为一个字符串返回
这是我想要使用的一个非常简单的示例(如果我有createCommand() 方法):
String[] cmdParts = {"ls", "-l", "/tmp /home"};
String cmd = createCommand(cmdParts);
在上面的例子中,我希望cmd 包含字符串ls -l "/tmp /home"
有没有一种方法可以做到这一点,或者类似的东西?
【问题讨论】:
-
要判断它是否合法,你需要执行它。
-
也许我遗漏了一些东西,但是,您似乎要求连接字符串。
-
我在这里写了一个非常简单的场景。该函数应该比字符串连接器更聪明。例如,如果其中一个参数包含
<space>或braces或者谁知道还有什么,该函数可能需要添加转义字符、更多大括号等。 -
对不起,用户3322273直言不讳,但我们不会为您编码。例如,转义字符串中的引号。您可以搜索并找到答案。请尝试这样做,并使用提供的建议,然后回复您可能遇到的问题(如果有)。
-
我不希望任何人为我编写代码。我想使用标准解决方案。所以我的实际问题是你是否知道一个包含类似方法的库(比如 apache 的东西)
标签: java shell cmd escaping exec