Это не то, как getopt
работает: регистр default
предназначен для неизвестных опций, а не для пропуска опций.
Если вы хотите установить значение по умолчанию, сделайте это перед обработкой getopt
loop.
На странице руководства:
Если параметр был успешно найден, то getopt () возвращает символ параметра.Если все параметры командной строки были проанализированы, то getopt () возвращает -1.Если getopt () встречает символ опции, которого не было в optstring, тогда '?'возвращаетсяЕсли getopt () встречает опцию с отсутствующим аргументом, возвращаемое значение зависит от первого символа в optstring: если это ':', тогда возвращается ':';в противном случае '?'
Таким образом, вместо случая default
вы также можете указать '?'
, но это не будет соответствовать ни одному варианту.