Как получить доступ к fpath пользователя, в отличие от fpath системы со сценарием?

test.zsh:

#!/usr/bin/env zsh for f in ${fpath}; do echo ${f} done 

выходы:

 /usr/local/share/zsh/site-functions /usr/share/zsh/functions/Calendar /usr/share/zsh/functions/Completion /usr/share/zsh/functions/Completion/AIX /usr/share/zsh/functions/Completion/BSD /usr/share/zsh/functions/Completion/Base /usr/share/zsh/functions/Completion/Cygwin /usr/share/zsh/functions/Completion/Darwin /usr/share/zsh/functions/Completion/Debian /usr/share/zsh/functions/Completion/Linux /usr/share/zsh/functions/Completion/Mandriva /usr/share/zsh/functions/Completion/Redhat /usr/share/zsh/functions/Completion/Solaris /usr/share/zsh/functions/Completion/Unix /usr/share/zsh/functions/Completion/X /usr/share/zsh/functions/Completion/Zsh /usr/share/zsh/functions/Exceptions /usr/share/zsh/functions/MIME /usr/share/zsh/functions/Misc /usr/share/zsh/functions/Newuser /usr/share/zsh/functions/Prompts /usr/share/zsh/functions/TCP /usr/share/zsh/functions/VCS_Info /usr/share/zsh/functions/VCS_Info/Backends /usr/share/zsh/functions/Zftp /usr/share/zsh/functions/Zle 

В то время как вывод командной строки содержит несколько дополнительных записей:

 ╭─ting@core ~/code/autojump ‹install-zsh-local*› ╰─➤ echo $fpath /home/ting/code/oh-my-zsh/plugins/git /home/ting/code/oh-my-zsh/functions /home/ting/code/oh-my-zsh/completions /usr/local/share/zsh/site-functions /usr/share/zsh/functions/Calendar /usr/share/zsh/functions/Completion /usr/share/zsh/functions/Completion/AIX /usr/share/zsh/functions/Completion/BSD /usr/share/zsh/functions/Completion/Base /usr/share/zsh/functions/Completion/Cygwin /usr/share/zsh/functions/Completion/Darwin /usr/share/zsh/functions/Completion/Debian /usr/share/zsh/functions/Completion/Linux /usr/share/zsh/functions/Completion/Mandriva /usr/share/zsh/functions/Completion/Redhat /usr/share/zsh/functions/Completion/Solaris /usr/share/zsh/functions/Completion/Unix /usr/share/zsh/functions/Completion/X /usr/share/zsh/functions/Completion/Zsh /usr/share/zsh/functions/Exceptions /usr/share/zsh/functions/MIME /usr/share/zsh/functions/Misc /usr/share/zsh/functions/Newuser /usr/share/zsh/functions/Prompts /usr/share/zsh/functions/TCP /usr/share/zsh/functions/VCS_Info /usr/share/zsh/functions/VCS_Info/Backends /usr/share/zsh/functions/Zftp /usr/share/zsh/functions/Zle 

Как я могу заставить скрипт получить доступ к fpath пользователя, а не к системе?

  • Получить zsh, чтобы сообщить каталог emacs
  • Заменить процесс экрана с экрана
  • Могу ли я использовать встроенный подстановочный знак Zsh для замены использования `find` здесь?
  • Существуют ли проблемы с дефисами в функциях, псевдонимах и исполняемых файлах?
  • Присвоение нового значения непосредственно в индекс символа значения в массиве с zsh
  • Как ввести несколько имен файлов с меньшим количеством штрихов
  • Подсказка: замените пользовательский путь коротким словом, например ~ для дома
  • Как проще задавать задачи для пакета, используя инструмент префикса команд?
  • One Solution collect form web for “Как получить доступ к fpath пользователя, в отличие от fpath системы со сценарием?”

    Вы не можете этого сделать, потому что fpath пользователя не установлен простым назначением в файле конфигурации ключа, он задается потенциально сложным сценарием. Например, мой fpath отличается в зависимости от версии zsh и того, какие каталоги существуют в системе. Вы можете ~/.zshrc , но это может делать всевозможные другие вещи (и, в частности, может не работать, если zsh не работает в терминале и может печатать вещи, и в противном случае предположить, что оболочка является интерактивной).

    Все экземпляры zsh source ~/.zshenv , поэтому предлагают пользователю, чтобы они установили свой fpath .

    Linux и Unix - лучшая ОС в мире.