10

我的应用程序/?

我的应用程序-帮助

myapp -ver

ETC....

4

7 回答 7

11

GNU 编码标准授权--version--help并且我已经开始期望任何 CLI 程序都支持这些。除此之外,这实际上取决于程序是什么,但这里有一些其他建议:-q--quiet减少输出,-v--verbose增加输出,-d--debug调试输出。

于 2009-06-13T09:03:59.967 回答
8

这取决于平台。

在 Windows 上,/?或 /h 或 /help 很常见。

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

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

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

  • -r/--recursive 向下递归目录
  • -q/--quiet 抑制输出
  • -v/--verbose 生成详细的诊断输出
  • -n 在不改变任何内容的情况下执行

如果您的程序接受文件名作为参数,那么常见的约定是单个连字符表示“从标准输入读取”,双连字符表示“将下一个参数视为文件,即使它以连字符开头”。

于 2009-06-13T09:03:47.207 回答
5

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

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

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

于 2009-06-13T09:00:01.270 回答
3

我同意上面提到的所有论点,但想指出另一件事:您可能希望您的应用程序接受所有论点的长、短和 BSD 样式。当然,如果您觉得没有一个用户愿意使用 BSD 样式,则可以省略它。长样式有助于增加参数的意义,并使它们在开始使用应用程序时更容易记住。

于 2009-06-13T09:33:16.650 回答
2

我建议选择帮助、版本、输出详细设置。其他开关取决于您的应用。

于 2009-06-13T09:02:51.153 回答
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"
于 2009-06-13T09:06:22.660 回答
2

Eric S. Raymond 在其伟大的著作The Art of Unix Programming中对最常见的 UNIX 命令行选项进行了很好的概述。它主要讨论单字母选项,但在这方面仍然是一个很好的资源。

于 2009-06-13T09:26:15.327 回答