Межплатформенный getopt для сценария оболочки

Я только что узнал это getopt не является межплатформенным (в особенности для FreeBSD и Linux). Каково лучшее обходное решение для этой проблемы?

12
задан codeholic 28 April 2010 в 09:15
поделиться

2 ответа

Используйте getopts (с буквой «s»).

Согласно Bash FAQ 35 :

Если это не версия от util-linux, и вы не используете ее расширенный режим, никогда не используйте getopt (1). getopt не может обрабатывать пустые строки аргументов или аргументы со встроенными пробелами. Пожалуйста, забудьте, что он когда-либо существовал.

Оболочка POSIX (и другие) предлагает методы getopts, которые можно безопасно использовать.

14
ответ дан 2 December 2019 в 03:18
поделиться

Базовый синтаксис для getopt кроссплатформенный.

getopt vi: -v -i 100 file
1
ответ дан 2 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: