我有一个名为test.groovy
的groovy文件,其中只有一行编码:
println args[0];
当我按照此groovy test ants
运行此程序时,输出为ants
。
但是当我使用参数ants(
运行程序时,我会收到这样的错误:
bash: syntax error near unexpected token (
1)如果我转义字符(
,那么我的输出为ants(
。但是为什么需要转义(
?
当我使用参数ant's
运行程序时,单击回车将使我的终端看起来像这样:
>
>
>
2)我只使用ctrl+c
终止程序。在这种情况下实际发生了什么?为什么我的终端看起来像这样?
3)看到这些之后,Groovy中遵循命令行参数和Java相同的规则和条件是什么?
提前致谢。
答案 0 :(得分:4)
你需要将其转义为(在你正在使用的bash shell中有意义。
同样适用于'
尝试其他命令:
ls (
或者
ls '
你会得到同样的效果
另一个选项(除了转义)是将你的参数放在引号字符中,如下所示:
groovy test 'ants('