groovy-环境搭建和基本语法

前言

作为运行在jvm上的编程语言,groovy是最好的脚本之一,具有脚本该有的特性,还能无缝对接java。

安装

sdkman

curl -s https://get.sdkman.io | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version

java

使用groovy推荐的java版本:安装groovy

选择adoptopenjdk,其中hs表示HotSopt的JVM(cpu使用上更优),j9表示OpenJ9的JVM(内存使用上更优)。

sdk list java
sdk install java 8.0.252.hs-adpt

groovy

sdk install groovy
groovy -version

必要的时候建立软连接

有些工具,比如winscp的终端的$PATH不包含隐藏目录,需要建立软链接才能访问。

ln -s /root/.sdkman/candidates/groovy/current/bin/javac /usr/local/bin/groovy
ln -s /root/.sdkman/candidates/java/current/bin/javac /usr/local/bin/javac

基本语法

以下是groovy的基本语法,更多更全的请参考groovy语法

定义变量

使用def关键字定义变量。

def val="abcdefgh"

定义函数

使用def关键字定义函数。

def func(x,y){return x+y}

定义List

使用[e1,e2,e3,…]来声明列表。

def list=[1,2,3,4,5,6]

定义Map

使用[k1:v1,k2:v2,k3:v3,…]声明字典。

def map=[name:"zlb",age:1,code:"java"]

命令行参数

args(命令行参数)

假设groovy文件是如下代码:

println args

执行命令:

groovy .\aa.groovy a b c

输出如下:

[a, b, c]

常用功能

以下是常用功能,更多功能请参见Groovy功能

运行外部程序(部署时很好用)

作为脚本,执行一些外部命令时非常好用。

def p
p = "docker info".execute()
p.consumeProcessOutput(System.out, System.err)
p.waitFor()

p = "docker stack rm nginx".execute()
p.consumeProcessOutput(System.out, System.err)
p.waitFor()
//指定执行目录
p="docker build -f Dockerfile -t xxl.quilt --rm --no-cache .".execute(null, new File("/deploy/dockerfile/quilt"))
p.consumeProcessOutput(System.out, System.err)
p.waitFor()

一键提交git仓库

def p

println("add")
p = "git add .".execute()
p.consumeProcessOutput(System.out, System.err)
p.waitFor()

println("commit")
p = ("git commit -m " + (args.length > 0 ? args[0] : "自动提交")).execute()
p.consumeProcessOutput(System.out, System.err)
p.waitFor()

println("push")
p = "git push origin master".execute()
p.consumeProcessOutput(System.out, System.err)
p.waitFor()

println("finished")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值