В даний час я пишу сценарій Bash, який має такі вимоги:
- він повинен працювати на широкому спектрі платформ Unix / Linux
- він повинен підтримувати як короткі, так і (GNU) довгі варіанти
Я знаю, що це getopts
був би кращий спосіб з точки зору портативності, але AFAIK не підтримує довгих варіантів.
getopt
підтримує довгі варіанти, але BashGuide настійно рекомендує:
Ніколи не використовуйте getopt (1). getopt не може обробити порожні рядки аргументів або аргументи із вбудованим пробілом. Будь ласка, забудьте, що вона коли-небудь існувала.
Отже, все ще є варіант ручного розбору. Це схильність до помилок, створює певний код котла, і мені потрібно обробляти помилки самостійно (я вважаю, getopt(s)
що обробляють помилки самостійно).
Отже, що було б кращим вибором у цьому випадку?