I currently am tasked with creating some command-line helper utilities for our internal development team to use. However, I want to know the best practice for creating unix command-line tools. I have tried viewing git source code for an example of how to read parameters and display messages accordingly. However, I'm looking for a clear template for creating a tool, reading parameters safely, and displaying the standard "help" messages if a user types in an incorrect parameter or --help I want to show the help message. Is there a standard library for reading -abcFGH and --parameter and switching which process starts based upon the passed parameter?

Command-Line:

git

or

git --help

Output:

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>]
...

Command-Line:

MyTool CommandName --CommandArgs

Output:

Whatever that specific command does.


What I have working so far:

Code:

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();
}

What would be ideal would look like this:

Code:

int main(int argc, char **argv)
{
    MagicParameters mag
Edit
Report