这行代码无法工作:
$ groovy -e 'println "Hello, world!"'
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
script_from_command_line: 1: unexpected char: 0xFFFF @ line 1, column 23.
println "Hello, world!
^
1 error
然而,在最后一个双引号和单引号之间加一个空格可以解决这个问题...
$ # groovy -e 'println "Hello, world!"'
$ groovy -e 'println "Hello, world!" '
Hello, world!
尽管 bash
程序似乎可以正确地处理结尾的 "'
一对(即,没有任何间隔空格),如下所示:
$ echo '"Hello, world!"'
"Hello, world!"
同样,给 println
的参数加上括号也能正常工作:
$ groovy -e 'println ("Hello, world!")'
Hello, world!
现在,我想知道为什么第一个案例不起作用。
我正在使用:
- bash,版本为 "4.2.45(1)-release (x86_64-pc-linux-gnu)"
- groovy,版本为 2.1.3