Мне нужно проанализировать аргументы с помощью функции getopt
. Проблема в том, что если у меня есть аргументы до и/или после опций, getopt
не работает. Обработка опций прекращается, как только возникает аргумент nonoption.getopt в Mac OS X
Для примера: tftp ip port [-b blksize] src dest
не работает. Но tftp [-b blksize] ip port src dest
хорошо работает.
Видимо, мне нужно добавить +
в начале optstring
, чтобы иметь возможность смешивать аргументы и варианты, но он не поддерживается Max OS X согласно https://www.gnu.org/software/gnulib/manual/html_node/getopt.html
Есть ли у вас решение? Благодарю.
Этот документ относится к OSX 10.5. Думаю, мы сегодня 10.10. –
@MarkSetchell Версия не имеет значения, OS X - система BSD. BSD getopt не поддерживает расширения GNU. Также у меня открыта страница 10.11. – Schwern
В качестве альтернативы вы можете использовать очень функциональный [Gnome lib command line parser] (https://developer.gnome.org/glib/stable/glib-Commandline-option-parser.html). – Schwern