Кодирам програмен прокси, който пренасочва stdout и т.н. във файлове, с използване: proxy [-i infile] [-o outfile] [-e errfile] cmd [опции].
Така че искам да принудя getopt да спре, когато пристигне в cmd, защото не трябва да анализира опциите за .
Четох за променливата на средата POSIXLY_CORRECT, но искам да я направя независима от това.
Та въпросът ми е как да стигна точно до това.
Част от моя код досега
while ((opt = getopt (argc, argv, "i:o:e:")) != -1)
switch (opt)
{
case 'i':
i = 1;
strcpy(input, optarg);
break;
case 'o':
o = 1;
strcpy(output, optarg);
break;
case 'e':
e = 1;
strcpy(error, optarg);
break;
default:
fprintf(stderr, "usage: proxy [-i infile] [-o outfile] [-e errfile] <cmd> [options]\n");
return -1;
}
Това ще въведе регистъра по подразбиране през цялото време, когато е дадена опция за cmd :(