2013-01-19 4 views
3

Цитируется по getopt() Linux Manual page:Какие приложения используют поведение getopt «return in order»?

Если первый символ строка_опций является дефисом (-), то каждый nonoption ARGV-элемент обрабатывается, как если бы это было аргумент вариант с символьным кодом 1. (Это используется программами, которые были написаны для ожидания опций и других элементов argv в любом порядке и которые заботятся о упорядочении этих двух.) Специальный аргумент двойные дефисы (-) принудительно завершает опцию сканирования независимо от режима сканирования.

Цитируется manual page of Java GetOpt class:

... Во-вторых, чтобы параметры в любом месте, но вернуть все элементы в порядке их появления в командной строке. Когда отменяется элемент без опций, возвращается целое число 1, а значение элемента без опционов хранится в optarg, если это аргумент этой опции. Например, «-a foo -d» возвращает сначала «a», затем 1 (с оптакгом, установленным в «foo»), затем «d», а затем -1. Когда эта функция «вернуться в порядок» включена, единственный способ остановить getopt() от проверки всех элементов командной строки - использовать специальную строку «-» самостоятельно, как описано выше. Например, «-a foo -b-bar», который возвращает «a», затем целое число 1 с оптажем, установленным в «foo», затем «b», затем -1. optind затем указывал бы на «bar» как первый непараллельный элемент argv. «-» отбрасывается.

Да, я понимаю, о чем говорят вышеприведенные утверждения, но я до сих пор не могу представить, какие приложения используют такое поведение.

Может ли кто-нибудь привести пример синтаксиса командной строки, который, вероятно, будет использоваться приложениями, реализующими поведение «return in order»?

+0

@JoachimPileborg Нет, это цифра 1. – Barmar

+0

Шрифт связанной страницы руководства действительно коварный, [здесь ссылка] (http://linux.die.net/man/3/getopt) к другому с лучший шрифт, где вы можете _рассматривать разницу между '1' и' l'. –

+0

@JoachimPileborg, я отредактировал фразу, которую вы упомянули, до оригинальной фразы. – Astaroth

ответ

5

find является примером команды, которая смешивает параметры и аргументы без опций и заботится о порядке.

Смежные вопросы