我正在使用Groovy脚本计算构建持续时间,并将指标发布到Hosted Graphite。从命令行执行以下curl命令将产生预期效果:
echo {someMetricHere} | nc carbon.hostedgraphite.com 2003
然而,在我的Groovy脚本中,生成指标的最后一步是运行以下命令:
"echo "+ metric +" | nc carbon.hostedgraphite.com 2003".execute()
它返回:
捕获异常:java.io.IOException: Cannot run program "|": error=20, Not a directory java.io.IOException: Cannot run program "|": error=20, Not a directory at hudson8814765985646265134.run(hudson8814765985646265134.groovy:27) 造成原因:java.io.IOException: error=20, 不是一个目录 ... 1 more
我认为该命令不理解命令中的“|”部分,有建议如何修复此脚本以运行预期的bash吗?我认为可以在工作区创建.sh文件,但不确定如何操作。
对于那些想要查看完整脚本的人,请使用Pastebin链接:https://pastebin.com/izaXVucF
干杯 :)
|
是 shell(bash)的一个特性。因此,如果您想使用它,请使用您想要的命令和管道启动 shell... - daggett