我目前的任务是为内部开发团队创建一些命令行帮助程序实用程序.但是,我想知道创建unix命令行工具的最佳实践.我已经尝试查看git源代码,以获取如何相应地读取参数和显示消息的示例.不过,我正在寻找一个明确的模板创建工具,安全地读取参数,并显示标准的"帮助"信息如果不正确的参数,用户类型或--help我想说明的帮助信息.是否有一个标准库用于读取-abcFGH和--parameter切换哪个进程根据传递的参数启动?
命令行:
git
Run Code Online (Sandbox Code Playgroud)
要么
git --help
Run Code Online (Sandbox Code Playgroud)
输出:
usage: git [--version] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
[-c name=value] [--help]
<command> [<args>]
...
Run Code Online (Sandbox Code Playgroud)
命令行:
MyTool CommandName --CommandArgs
Run Code Online (Sandbox Code Playgroud)
输出:
无论具体命令是什么.
到目前为止我的工作:
码:
int main(int argc, char **argv)
{
if(argc < 2)
helpMessage();
char* commandParameter = argv[1];
if (strncmp(argv [1],"help", strlen(commandParameter)) == 0)
helpMessage();
else if (strncmp(argv [1],"pull", strlen(commandParameter)) == 0)
pull();
else
helpMessage();
}
Run Code Online (Sandbox Code Playgroud)
什么是理想的将是这样的:
码:
int main(int argc, char …Run Code Online (Sandbox Code Playgroud)