我在一个奇怪的问题,为此我发现了原因,经过大量的调试后触击。 我有一个Java程序,我正在Linux环境中通过bash脚本执行。问题与命令行参数中有它的空间
这是我简单的bash脚本,它接受一个字符串。
#!/bin/bash
java -cp com.QuoteTester $1
问题是命令行参数可以是空格或空格。 例如,它可以是
Apple Inc. 2013 Jul 05 395.00 Call
OR
Apple
按我的代码是这样
public static void main(String[] args)
{
String symbol = args[0];
if (symbol.trim().contains(" ")) // Option
{
}
else // Stock
{
}
所以,问题是,当我试图执行它这样
。/quotetester Apple Inc. 2013年7月5日395.00致电
其唯一总是要去的else condition
临时t是股票。
有反正我可以解决这个??
因为这不是shell的工作方式。如果您希望将其作为一个参数,则需要引用/转义 –
[Java命令行参数中的空间可能重复](http://stackoverflow.com/questions/743454/space-in-java-command-line -arguments) –
如何在arg周围使用引号? –