2

上午审查驱动的命令行命令行Java应用程序中切换骆驼较低的情况下是这样的:命令行参数是否有任何命名约定?

myapp aSwitch anotherSwitch aThirdSwitch 

正在考虑所有的小写和领先的连字符可优选:

myapp -aswitch -anotherswitch -athirdswitch 

...或者:

myapp -a-switch -another-switch -a-third-switch 

但努力想出一个令人信服的理由。希望遵循当前的约定,并且至少对于Windows/Linux是跨平台兼容的。

感谢您对这三种方法中最常用的约定提出建议 - 以及其中的任何理由。

回答

2

Apache Commons CLI有一个常用约定的说明。这也是一个很好的解析器这样的用例

0

我主要的工作在Linux上,但通常是

app -<option1> <option1 value> -<option2> <option2 value> -<option2> <option3 value> 

如果每个选项都有一个值或参数来传递

myapp -o1 aSwitch -o2 anotherSwitch -o3 aThirdSwitch 
+0

感谢 - 实际上这个特定的应用程序的参数没有价值 - 他们只是改变它的性质。 (我猜他们是类似于'LS -l'或类似。) –

+0

那好吧,如果你在一个CLI应用程序的工作,我只是列举了这样 MYAPP -aSwitch -anotherSwitch -aThirdSwitch 并给出错误的输入,请使用它支持的选项或类似的东西打印格式帮助 – Nagarz