2009-06-13 62 views

回答

11

GNU Coding Standards要求--version--help我期待任何CLI程序来支持这些。除此之外,这取决于程序是什么,但这里有一些其他建议:-q--quiet用于较少输出,-v--verbose用于更多输出,-d--debug用于调试输出。

5

的命令行参数的短期和长期的版本。检查您使用的编程语言是否有getopt库端口。它会帮助你解析命令行参数。

--config-file=FILE | -C FILE 
--help | -h 
--usage | -u 
--version | -v 

包括您的应用程序的其他相关选项。

2

我建议有帮助,版本,输出详细设置的选项。其他开关取决于您的应用程序。

8

这取决于平台。

在Windows上,/?或/ h或/帮助是常见的。

在Unix上,一个命令应该有一个手册页。

在遵循Gnu惯例(例如Linux)的Unix变体中,它应该响应--help和--version。更好的是,它可以与bash自动完成集成。

除此之外,请查看其他程序与您的相同区域,并在有意义的地方使用相同的选项。例如:

  • -R/- 递归递归下降目录
  • -q/- 静音抑制输出
  • -v/- 详细生成详细的诊断输出
  • -n在不改变任何东西

如果你的程序接受文件名作为参数来执行,然后通常的惯例是一个连字符来表示和双连字符“从标准输入读”指“治疗的一个参数为即使文件它以连字符开头“。

2

-h是必须在* nix上。我会说相同的/?在Windows上,但两种平台可用的程序通常用于* nix风格。这可能是因为getopt和朋友。

一些要领:

-h, --help 
-v, --version 
-u, --usage 

如果应用程序修改的任何文件都:

--dry-run Do not modify any files (but work as if you did) 

如果应用程序使用配置文件,选择要使用指定的配置文件或目录。

一些主要业务切换到非交互方式运行,并做的工作:

mysql --execute="SELECT * FROM ..." 
cmd.exe /C "dir" 
2

埃里克雷蒙给出了他的伟大著作The Art of Unix Programming最常见的UNIX命令行选项的很好的概述。它主要讨论单字母选项,但是在这方面还是一个很好的资源。

3

我同意上面提到的所有参数,但想指出另一件事:您可能希望您的应用程序接受所有参数的长,短和BSD样式。当然,如果你觉得你的用户都不会乐于使用它,BSD风格可能会被忽略。长时间的风格有助于增加参数的含义,并使它们在开始使用应用程序时更容易记住。

相关问题