В ВЫВОДЕ Вы отмечаете каждый новый пакет, даже чей адрес назначения находится в Вашей LAN.
Ваши ppp таблицы маршрутизации только имеют запись по умолчанию. Это означает, что каждый пакет, когда-либо идущий в одну из этих таблиц, будет всегда направляться через Ваш шлюз на ppp*. Даже если адрес назначения того пакета находится в Вашей LAN. Поэтому правила оценены в увеличивающемся первоочередном заказе и Вашем d [0-8], таблицы пробуют прежде main
.
По сути, ping к Вашей LAN направляются к Вашим ppp устройствам, и получите NATed... Таким образом, если они работают, это - потому что выбранный ppp шлюз имеет другой хост с тем же IP-адресом в его таблицах маршрутизации.
Я поместил бы каждое правило LAN в отдельную таблицу, которую пробуют перед d [0-8] таблицы, так, чтобы трафик, который должен перейти к Вашей LAN, идет на Вашу LAN.
Параметры для команды compgen
такие же, как complete
, за исключением -p
и -r
. Из справочной страницы compgen
:
compgen
compgen [option] [word]
Generate possible completion matches for word according to the options, which
may be any option accepted by the complete builtin with the exception of -p
and -r, and write the matches to the standard output
Для параметров [abcdefgjksuv]
:
-a
означает Имена псевдонима -b
означает Имена оболочки builtins -c
означает имена всех команд -d
означает имена каталога -e
означает имена экспортируемых переменных оболочки -f
означает имена файлов и функций -g
означает Имена групп -j
означает Имена задания -k
означает Имена зарезервированных слов Shell -s
означает Имена службы -u
означает Имена userAlias имена -v
означает Имена переменных оболочки . Вы можете увидеть полную страницу руководства здесь .
В O'Reilly есть книга(bash Quick Reference Арнольда Роббинса ), в которой также полностью описаны опции формы подсказки compgen
. Переход к полной документации дает несколько других вариантов, кроме перечисленных выше. Они могут быть не связаны с текущими версиями, НО есть параметры, которые больше не описаны или не описаны в документах текущей версии.
На данный момент я видел в Интернете, что эти опции в верхнем регистре используются для вызова compgen
или упоминаются в полной документации!
compgen [option] [word]
complete [-abcdefgjksuv] [-o comp-option] [-A action] [-G globpat] [-W wordlist]
[-P prefix] [-S suffix] [-X filterpat] [-F function]
[-C command] name [name...]
complete -pr [name...]
Довольно исчерпывающую версию документации можно найти в Programmable Completion Builtins .
Поскольку обе команды встроены в команду, официальная документация находится на вашей локальной справочной странице для bash. Воспользуйтесь опцией поиска, чтобы найти в нем нужные части. Извините, но макет выглядит несколько сломанным (удобство использования уменьшено в сгенерированном макете )в любом варианте просмотра, даже в интернет-сервисах.