管道到groovy脚本输入

时间:2011-11-25 10:47:32

标签: groovy pipe

我正在编写一个groovy脚本,它从行或管道中获取args。

首先,访问管道或args是不同的:

  • 您从args变量
  • 访问args
  • 您通过System.in.text
  • 访问管道

所以一切都在我的脚本中正常工作

BUT

当我远程运行脚本时(即groovy http://mysite.com/myscript.groovy),SOMETIMES管道不起作用,即管道中没有任何内容(System.in.text为空),但有时它可以正常工作。

我设法将这个延迟读数System.in修复了300毫秒(即sleep 300命令)

我想知道我是否会错过读取管道的东西,或者我应该以某种方式报告错误

示例脚本:https://github.com/fix/groovy-spark/blob/master/Spark.groovy

2 个答案:

答案 0 :(得分:1)

尝试包装它:

BufferedReader Sin = new BufferedReader(new InputStreamReader(System.in))

...来自Java API文档。

然后照常使用Sin.text

继续

答案 1 :(得分:0)

def input = System.in.newReader().readLine()