有的命令的帮助需要写-help,有的是--help,他们的区别是什么?
来源: 互联网 发布时间:2016-04-25
本文导语: 如题 | 这个是man里的一个例子,你可以编译运行: #include /* for printf */ #include /* for exit */ #include int main(int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_o...
如题
|
这个是man里的一个例子,你可以编译运行:
#include /* for printf */
#include /* for exit */
#include
int main(int argc, char **argv)
{
int c;
int digit_optind = 0;
while (1) {
int this_option_optind = optind ? optind : 1;
int option_index = 0;
static struct option long_options[] = {
{"add", 1, 0, 0},
{"append", 0, 0, 0},
{"delete", 1, 0, 0},
{"verbose", 0, 0, 0},
{"create", 1, 0, 'c'},
{"file", 1, 0, 0},
{0, 0, 0, 0}
};
c = getopt_long(argc, argv, "abc:d:012",
long_options, &option_index);
if (c == -1)
break;
switch (c) {
case 0:
printf("option %s", long_options[option_index].name);
if (optarg)
printf(" with arg %s", optarg);
printf("n");
break;
case '0':
case '1':
case '2':
if (digit_optind != 0
&& digit_optind != this_option_optind)
printf
("digits occur in two different argv-elements.n");
digit_optind = this_option_optind;
printf("option %cn", c);
break;
case 'a':
printf("option an");
break;
case 'b':
printf("option bn");
break;
case 'c':
printf("option c with value 鈥?s鈥橽n", optarg);
break;
case 'd':
printf("option d with value 鈥?s鈥橽n", optarg);
break;
case '?':
break;
default:
printf("?? getopt returned character code 0%o ??n", c);
}
}
if (optind