, где [116199]-ge[116200] означает greater-or-equal-to (и так далее). Команда [116201]-a[116202] является логическим "и". Команда [116203][[116204] - это просто команда, а не специальный синтаксис (на самом деле это то же самое, что и [116205]-тест[116206]: проверьте [116207]-мужской тест[116208]), поэтому пробел за ней НЕ ОТМЕНЯЕТСЯ. Если вы напишете [116209][$REPLY[116210], он попытается найти команду с именем [116211][$REPLY[116212] и выполнить ее, что не сработает. То же самое можно сказать и о закрытии [116213]][116214].
Правка: чтобы проверить, целое ли число (если это может произойти в вашем коде), сначала выполните тест
Конечно, все эти выражения в скобках возвращают 0 (истина) или 1 (ложь) и могут быть объединены. Можно не только заключить все в одну скобку, но и сделать
или что-то подобное.[115868].
Ответ заключается в том, что ГУМКТЫ
сохраняет указатель в $ Optind
и, следовательно, привлечение к добавлению локальный Optind
или OPTIND = 1
к началу функции GetOPT_TEST
.
Благодаря @sivann для предоставления ссылки.