Python 2.7. Заменить синтаксическую ошибку с переменной

Обратите внимание, что getopt(1) была короткой живой ошибкой от AT & amp; T.

getopt была создана в 1984 году, но уже похоронена в 1986 году, потому что она не была действительно полезной.

A доказательство того, что getopt очень устарело, состоит в том, что man-страница getopt(1) все еще упоминает "$*" вместо "$@", которая была добавлена ​​к Bourne Shell в 1986 году вместе с оболочкой getopts(1), встроенной для того, чтобы обратитесь к аргументам с пробелами внутри.

BTW: если вам интересно разобрать длинные параметры в сценариях оболочки, может быть интересно узнать, что реализация getopt(3) из libc (Solaris) и ksh93 оба добавили единую длинную опционную реализацию, которая поддерживает длинные опции как псевдонимы для коротких опций. Это приводит к тому, что ksh93 и Bourne Shell реализуют единый интерфейс для длинных опций с помощью getopts.

Пример для длинных параметров, взятых из страницы руководства Bourne Shell:

getopts "f:(file)(input-file)o:(output-file)" OPTX "$@"

показывает, как долго могут использоваться псевдонимы вариантов как в Bourne Shell, так и в ksh93.

См. справочную страницу недавней оболочки Bourne:

http://schillix.sourceforge.net/man/man1/bosh.1.html

и справочная страница для getopt (3) из OpenSolaris:

http://schillix.sourceforge.net/man/man3c/getopt.3c.html

и last, справочная страница getopt (1) для проверки устаревшего $ * :

http://schillix.sourceforge.net/man/man1/getopt.1.html

-1
задан STAR Security 27 March 2019 в 04:09
поделиться