Анализ аргументов параметра.
getopts используется процедурами командного процессора для анализа
позиционных параметров.
«строка_параметров» содержит буквы распознаваемых параметров. Если после
буквы идёт двоеточие, считается, что у параметра есть аргумент,
который должен быть отделён пробелом.
При каждом своём вызове getopts поместит следующий параметр в переменную
$имя, проинициализировав это имя, если оно не существует,
и проиндексирует следующий обрабатываемый аргумент в переменной
$OPTIND. Переменная $OPTIND инициализируется при каждом вызове
командного процессора или скрипта. Когда для параметра нужен аргумент,
getopts помещает этот аргумент в переменную $OPTARG.
getopts сообщает об ошибках двумя способами. Если первый символ
в «строке_параметров» является двоеточием, getopts включает режим молчания. В этом
режиме сообщения об ошибках не выводятся. Если указан неверный
параметр, getopts помещает символ параметра в переменную $OPTARG. Если
обязательный аргумент не найден, getopts помещает «:» в «имя»
и задаёт для $OPTARG символ найденного параметра. Если getopts не в режиме
молчания, и был указан неверный параметр, getopts помещает «?»
в НАЗВАНИЕ и удаляет переменную OPTARG. Если обязательный аргумент не найден, в НАЗВАНИЕ
помещается «?», переменная OPTARG удаляется и выводится диагностическое
сообщение.
Если переменная OPTERR имеет значение 0, getopts отключает
вывод сообщений об ошибках, даже если первый символ переменной
OPTSTRING не является двоеточием. По умолчанию переменная OPTERR имеет значение 1.
Getopts обычно анализирует позиционные параметры ($0–$9), но если
задано больше аргументов, анализируются последние.
Состояние выхода:
Возвращает успех, если найден параметр. Возвращает ошибку, если достигнут
конец параметров или возникла ошибка.