Стандартный материал getopt
не имеет возможности сделать это, он допускает добавление одного параметра к параметру (с :
), например -cfoo
(часть аргумента параметра) или -c foo
(вследующий аргумент).Это также может быть необязательным, если вы используете ::
, хотя я считаю, что оно должно быть расширением самого аргумента опции, а не отдельным аргументом.
Он не может принимать более одного аргумента послеОпция аргумента и объединить их в один вариант.Вы можете заключить их в кавычки, чтобы заставить его использовать аргумент single , например:
-c "foo bar"
, но это не удалит пробелы.Конечно, ничто не мешает вам указать напрямую , что вы, похоже, хотите, с немного измененным:
-c foobar
Другими словами, я не понимаю, почему вы на самом деле нужно чтобы они были разделены, тем более что вы все равно будете их объединять.
Без сомнения, вы могли бы изменить getopt
, чтобы сделать это, например, допуская что-то вродеabc[2,collapse]
(вместо abc:
), чтобы указать, что -c
требуется два аргумента, между которыми должны быть удалены пробелы.Но это кажется довольно трудоемким занятием для чего-то, что может быть легче обойти.