Я исследовал похожие вещи, поэтому у меня может быть несколько вещей, которые могут оказаться полезными.
Если вы сделаете man zshmisc
и перейдете к разделу «Функции автозагрузки», это немного разъяснится.http://zsh.sourceforge.net/Doc/Release/Functions.html
Здесь говорится о двух вещах, на которые я собираюсь указать
Во-первых, я думаю, что одна из ваших проблем заключается в том, что вы пропустили флаг -U
выше :
.
The usual alias expansion during reading will be suppressed if the autoload builtin or its equivalent is given the option -U. This is recommended for the use of functions supplied with the zsh distribution. Note that for functions precompiled with the zcompile builtin command the flag -U must be provided when the.zwc file is created, as the corresponding information is compiled into the latter.`
Во-вторых, как он автоматически загружается из переменной fpath (Я рекомендую прочитать страницу, но здесь она кратко):
element
— это элемент fpath, а function
— это функция, которая пытается быть загружена автоматически.
Есть 3 способа автоматической загрузки чего-либо.
Если есть файл с именем element.zwc
, он будет загружен и найден для функций. (дайджест ). Мне лично нужно изучить это еще раз, но вы можете увидеть, что находится в файле zwc, используя zcompile -t
. (Я знаю, что вы использовали это выше, просто разместили здесь)
Если три - это файл с кодом слова (, скомпилированный файл )с именемelement/function.zwc
Обычный, если это файл в fpath (, так что простоelement/function
)
Также проверьте man zshbuiltins
и найдите справочную страницу для zcompile
. Вы можете использовать -c
и -a
для компиляции всех функций или всех автоматически загружаемых функций :.http://zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html
Также вы можете найти другое место, где упоминаются коды слов zsh, если вы посмотрите встроенный .
на странице.Вы можете видеть, что если вы используете его, он будет искать *.zwc
версию файла и вместо этого загружать его:
If a file named 'file.zwc' is found, is newer than file, and is the compiled form (created with the zcompile builtin) of file, then commands are read from that file instead of file.
Есть также функция zrecompile, которую вы можете автоматически загрузить, она немного не связана с этим, но я рекомендую проверить ее. По сути, он перекомпилирует ваши файлы по мере необходимости :
.
Для адреса NNN.130.20.35
нет явного маршрута, поэтому используется значение по умолчанию.
Интересно, вы путаетесь NNN.130.20.35
с несвязанной подсетью NNN.130.0.0/24
.