小编Vel*_*tas的帖子

在C/C++中创建unix/linux命令行工具的最佳实践是什么?

我目前的任务是为内部开发团队创建一些命令行帮助程序实用程序.但是,我想知道创建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)

c unix linux parameters command-line-arguments

7
推荐指数
1
解决办法
2378
查看次数

标签 统计

c ×1

command-line-arguments ×1

linux ×1

parameters ×1

unix ×1