有关实现命令行界面的建议

我正在重新设计一个命令行应用程序,并正在寻找一种更直观的方式。 传递给命令行应用程序的参数格式是否有任何约定? 或者人们认为有用的其他方法?


我看到很多Windows命令行细节,但是如果您的程序用于Linux,我发现GNU命令行标准是最直观的。 基本上,它使用双连字符作为命令的长形式(例如--help )和简短版本的单个连字符(例如-h )。 您也可以将短版本“堆叠”在一起(例如, tar -zxvf filename ),并将长短匹配到您心中的内容。

GNU网站还列出了标准选项名称。

getopt库极大地简化了解析这些命令的过程。 如果C不是你的包,Python也有类似的库,就像Perl一样。


如果您使用C#尝试Mono.GetOptions,它是一个非常强大且易于使用的命令行参数分析器。 它适用于Mono环境和Microsoft .NET Framework。

编辑:这里有一些功能

  • 每个参数有2个CLI表示(1个字符和字符串,例如-a或--add)
  • 默认值
  • 强类型
  • 自动生成带说明的帮助屏幕
  • 自动生成版本和版权屏幕

  • 我喜欢某个CLI的一点是使用快捷方式
    也就是说,以下所有内容都在做同样的事情

    myCli.exe describe someThing
    myCli.exe descr someThing
    myCli.exe desc someThing
    

    这样,用户可能不必每次都输入all命令。

    链接地址: http://www.djcxy.com/p/30413.html

    上一篇: Suggestions for implementation of a command line interface

    下一篇: get dictionary key by value