私は現在、社内開発チームが使用できるコマンドラインヘルパーユーティリティの作成を担当しています。ただし、UNIXコマンドラインツールを作成するためのベストプラクティスを知りたいです。パラメータを読み取り、それに応じてメッセージを表示する方法の例として、gitソースコードを表示してみました。--help
ただし、ツールを作成し、パラメーターを安全に読み取り、ユーザーが間違ったパラメーターを入力した場合、またはヘルプメッセージを表示したい場合に、標準の「ヘルプ」メッセージを表示するための明確なテンプレートを探しています。渡されたパラメータに基づいて開始するプロセスを読み取り、切り替える-abcFGH
ための標準ライブラリはありますか?--parameter
コマンドライン:
git
また
git --help
出力:
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>]
...
コマンドライン:
MyTool CommandName --CommandArgs
出力:
その特定のコマンドが行うことは何でも。
私がこれまでに取り組んできたこと:
コード:
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();
}
理想的なものは次のようになります。
コード:
int main(int argc, char **argv)
{
MagicParameters magicParameters = new MagicParameters(argv);
switch(magicParameters[1])
{
case command1:
Command1();
break;
case ...
case help:
default:
HelpMessage();
break;
}
}