为什么 Groovy 命令行参数有不同的行为?
我有一个名为 test.groovy
的 groovy 文件,其中有一行代码:
println args[0];
当我像 groovy test ants
一样运行这个程序时,输出是 ants
。
但是,当我使用参数 ants(
运行程序时,我会收到如下错误:
bash: 意外标记附近的语法错误 (
1)如果我转义字符 < code>( 然后我得到的输出为 ants(
。但是为什么 (
需要转义?
当我使用参数运行程序时ant's
,然后单击 Enter 将使我的终端看起来像这:
>
>
>
2)我只使用ctrl+c
终止程序。为什么我的终端看起来像这样?
3)看到这些之后,规则和条件是什么?在 Groovy 中遵循命令行参数,对于 Java 也同样如此?
提前致谢。
I have a groovy file named test.groovy
and have a single line of coding in it :
println args[0];
when I run this program like this groovy test ants
, output is ants
.
But when I run the program with the argument ants(
then I'm getting error like this :
bash: syntax error near unexpected token (
1)If I escape the character (
then I'm getting the output as ants(
. But why (
is needed to be escaped?
And when I run the program with the argument ant's
, then clicking enter would make my terminal look like this :
>
>
>
2)And I terminate the program only using ctrl+c
. What actually happens in this case? Why my terminal look like this?
3)After seeing these, what are the rules and condition that are to be followed in Groovy with accordance with Command-line arguments and the same holds for Java?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要转义它,因为 ( 在您正在使用的 bash shell 中具有含义。
也是如此
'尝试其他命令
:或者
您会得到相同的效果
另一个选项(除了转义之外)是将您的参数放在引号内像这样的字符:
You need to escape it as ( has a meaning in the bash shell which you are using.
The same goes for '
Try other commands:
Or
You'll get the same effect
Another option (other than escaping) is to put your arguments inside quote chars like so: