用另一种语言包装命令行工具的模式

时间:2010-04-05 12:04:08

标签: design-patterns command-line wrapping

我正在编写一些Java来包装广泛的命令行工具。感觉就像我写了很多相似的代码。

我想知道是否有任何已建立的模式来包装命令行工具 - 传递参数和处理输出等等。

Java中的具体示例显然很棒,但也欢迎任何一般性建议或指示。

2 个答案:

答案 0 :(得分:1)

Apache Commons Exec可能对您有所帮助。这是一个旨在简化Java中外部进程执行的小库。

如果需要对命令行解析,还有Apache Commons CLI来处理命令行解析。

答案 1 :(得分:1)

如果您主要包装命令行工具,那么您可能需要考虑使用groovy而不是Java或者除了Java之外。 groovy中的Executing a command很简单:

  

def p ='my command'.execute()

     

print p.text //打印输出

您也可以将这些方法链接在一起:

  

print'my command'.execute()。text