shell - 是否有记录命令行界面的最佳实践?

标签 shell command-line command-line-interface

<分区>

我设计了一些具有 CLI 的程序,并希望尽可能将它们记录为标准。是否有关于执行此操作的最佳方法的任何协议(protocol)?

一个例子:

假设程序是“sayHello”,它有几个参数:名称和消息。所以一个标准的调用看起来像这样:

> sayHello "Bob" "You look great" 

好的,所以我的命令用法看起来像这样:

sayHello [name] [message]

如果括号在使用命令中具有特定含义,那可能已经是一个错误。但让我们更进一步,说“消息”是可选的:

sayHello [name] [message (optional)]

然后还有一个问题,如果有一个我们想要表示的默认值怎么办:

sayHello [name] [message (optional: default 'you look good')]

我意识到这个用法声明在这一点上看起来有点迟钝。我真的想问是否有关于如何编写这些内容的公认标准。我偷偷怀疑括号和方括号都有特定的含义。

最佳答案

虽然我不知道有任何官方标准,但有一些努力提供框架约定。 Docopt就是这样一个框架,在这里可能适合您的需要。用他们自己的话说:

docopt 可以帮助您:

  • 为您的命令行应用程序定义界面,以及
  • 自动为它生成解析器。

many programming languages 的实现, 包括 shell .

关于shell - 是否有记录命令行界面的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25457963/

相关文章:

command-line-interface - 检查已安装的Yeoman发电机

bash - 如何在 Bash 的 if 语句中使用带参数的函数?

command-line - 子目录的命令行开关(dos vs bash)和通配符

php - start/B 不启动任务

bash - 观察字符串的命令行

c# - ClickOnce UNC 命令行

python - 使用 python27.dll 运行 python 脚本

linux - 在 Mac 上安装 bash 程序

linux - 如何按第三列中的数字对数据进行排序?

shell - GNU shell 函数在意外标记 `(' 附近出现语法错误