外壳“参数文件”或“ @文件”来自哪里?

时间:2019-01-01 11:19:36

标签: command-line-interface command-line-arguments

JCommander是一个用于向基于Java的应用程序添加CLI支持的库,它涉及“自变量文件”或“ @文件”以及 the @语法的概念。虽然我了解这个概念,但它是从哪里来的呢?除了也支持该概念的更多库之外,我找不到任何其他资源(但不涉及实际资源)。

总而言之,这是一种在文件中而不是直接在命令行中组织外壳程序参数的方法。简单的例子:

str(Mroz)

成为

str(Mroz)

mean(Mroz$inc[wc=="No"])

mean(Mroz$inc[wc=="Yes"])

myfile:

> program a b c

应该是为了解决字符数限制或定义预配置的程序执行。

我想从我自己的文档中引用这个概念,但不必指出一些库作为二手文档。

1 个答案:

答案 0 :(得分:0)

虽然找不到有关@ -files的文档,但我想共享其他支持此功能的工具。可能是较旧的工具之一产生了这个想法。

随时编辑此答案并添加到列表中。

  • gnu gcc(滚动到底部)记录了格式。请注意,gcc支持递归引用。
  • javac支持@files,documents支持格式。 Javac不支持递归引用。
  • java支持@files(可以使用--disable-@files关闭)。支持的格式为documented in detail
  • javadoc支持@files。这是briefly documented
  • 上述JCommander库supports @files,但未记录受支持的语法。
  • picocli是用于向JVM应用程序添加CLI支持的另一个库,也支持@-文件,支持的格式为documented。支持递归引用。 Picocli还提供了simplified format以与JCommander兼容。

相关

  • curl具有一些选项,这些选项可以使用@前缀指示命令行参数或文件中的数据,该选项参数表示文件名