Это просто соглашение стиля GNU, предваряющее двойные тире для длинных опций, а не «обязательный». Программы GNU, использующие только один тире для длинных опций, (в основном )относятся к тому времени, когда библиотека GNU C еще не поддерживала getopt_long
для анализа аргументов сегодняшним способом.