大家好!我编写了这个程序来读取命令行参数。
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
答案 0 :(得分:5)
您正在使用的某些特殊字符对于启动程序的shell具有意义。通过将字符放在引号中,您指示shell不要根据它们的特殊含义处理这些字符。