在命令行参数中给出特殊字符

时间:2012-09-07 06:01:56

标签: java

大家好!我编写了这个程序来读取命令行参数。

public class UseArgument {
public static void main(String args[])
{
    System.out.print("hi, ");
    System.out.print(args[0]);
    System.out.println(" How are you?");
}
}

我尝试通过命令行发送以下参数:

java UseArgument @!&^%

并且它发出如下错误。 输出:

hi, @! How are you?

''%''不被视为内部或外部命令, 可操作程序或批处理文件。

java UseArgument @!^%

有人可以解释这种行为吗?这与正则表达式有关吗?

感谢。 sivakiran B

1 个答案:

答案 0 :(得分:5)

您正在使用的某些特殊字符对于启动程序的shell具有意义。通过将字符放在引号中,您指示shell不要根据它们的特殊含义处理这些字符。