是否可以在文件的开头声明它应该作为Groovy脚本执行?
其他脚本语言的示例:
#!/bin/sh
#!/usr/bin/python
#!/usr/bin/perl
答案 0 :(得分:49)
这一#!/usr/bin/env groovy
将搜索你的路径寻找groovy来执行脚本
答案 1 :(得分:5)
根据this,您可以使用#!/usr/bin/groovy
(如果这是它的位置)。您正在寻找的搜索词是shebang
(这是第一行的名称)。
答案 2 :(得分:3)
一个常见的技巧是编写一个具有多种语言含义的脚本,也称为"多语言"脚本。
对于Bash和Groovy,这一点特别容易:
#!/bin/sh
//bin/true; exec groovy -cp .. "$0"
println "Hello from Groovy"
#!
),告诉操作系统将脚本作为常规shell脚本运行。/bin/true
命令(无操作);然后在PATH中找到groovy可执行文件并在脚本文件本身("$0"
)和其他参数上运行它,替换当前的shell进程(exec
)//
)并将运行脚本的其余部分。如果您需要更复杂的shell部件,可能要设置环境变量,或者发现Groovy的安装位置,您可以使用其他技巧:
#!/bin/sh
'''':
echo Hello from Shell
exec groovy -cp .. "$0"
'''
println "Hello from Groovy"
'''':
解析为两个空字符串''
后跟冒号,这是一个无操作。exec
或exit
"$0"
)'''':
解析为长字符串'''
的开头,从而跳过所有shell命令,然后运行脚本的其余部分。