「Apache Groovy」- 运行 Shell 命令 @20210402

问题描述

在 Groovy 中,我们需要运行 Shell 命令,尤其将其当作脚本使用并配合 Git 命令时(我们知道有 JGit 类库,但是远不及命令方便,也可能是习惯)。

总之,我们需要在 Groovy 中调用 Shell 命令。

该笔记将记录:在 Groovy 中,如何执行 Shell 命令,以及常见操作、注意事项。

解决方案

执行命令,并获取输出:

String result = "ls -lt ".execute().text
println result.toUpperCase()

执行命令,并设置超时时间:

def resultado = new StringBuilder()
def error     = new StringBuilder()

def comando = "ls -lt".execute() //(2)
comando.consumeProcessOutput(resultado, error) //(3)
comando.waitForOrKill(1000) //(4)

if (!error.toString().equals("")) //(5)
    println "error: ${error.toString()}"
}

常见问题汇总

如果命令参数中包含空格(空白字符)

def cmdOutput = ['ls', '/tmp/folder with spaces'].execute().text

相关文章

「Apache Groovy」- Grape,依赖管理工具(学习笔记)
「Apache Groovy」- 连接 SQLite 数据库
「Groovy」- 处理 Object 与 JSON String 之间的转换
「Groovy」- 操作 HTML 文档
「Groovy」- 连接数据库(使用 MySQL 演示)

参考文献

Execute commands
groovy execute with parameters containing spaces - Stack Overflow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值