遵循 POSIX 指南来设置程序的命令行选项是一个好主意。最简单的方法是使用 getopt
来解析它们。请注意,GNU 版本的 getopt
通常允许选项出现在参数中的任何位置,除非使用了特殊的参数 ‘--’。 这不是 POSIX 规范的内容;这是一个 GNU 扩展。
请定义与单字母 Unix 风格选项等效的长名称选项。我们希望通过这种方式使 GNU 更易于用户使用。使用 GNU 函数 getopt_long
可以很容易地做到这一点。
长名称选项的优点之一是它们可以在程序之间保持一致。例如,用户应该能够期望任何具有“verbose”选项的 GNU 程序,其拼写都应该精确地为 ‘--verbose’。为了实现这种统一性,当您为程序选择选项名称时,请查看通用长选项名称表(请参阅 选项表)。
通常,将作为普通参数给出的文件名仅作为输入文件是一个好主意;任何输出文件都应使用选项(最好是 ‘-o’ 或 ‘--output’)指定。即使您为了兼容性而允许将输出文件名作为普通参数,也请尝试提供一个选项作为指定它的另一种方式。这将使 GNU 实用程序更加一致,并减少用户需要记住的特殊之处。
所有程序都应支持两个标准选项:‘--version’ 和 ‘--help’。 CGI 程序应接受这些作为命令行选项,并且如果将其作为 PATH_INFO
给出; 例如,在浏览器中访问 ‘http://example.org/p.cgi/--help
’ 应该输出与从命令行调用 ‘p.cgi --help’ 相同的信息。
• --version | –version 的标准输出。 | |
• --help | –help 的标准输出。 |