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

test.zsh:

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

выходы:

  • Как присвоить значение переменной внутри цикла for в bash?
  • Как терминал может запускать программы и показывать их результаты?
  • exec <filename - что это делает?
  • Zsh: завершение каталога хеширования
  • найти и rsync?
  • Завершение Zsh, включение shift-tab
  •  /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 пользователя, а не к системе?

  • Выполнять команду или функцию, когда SIGINT или SIGTERM отправляются самому родительскому скрипту, а не дочерним процессам
  • Как объявить некоторые псевдонимы динамически в zsh?
  • Заполнение вкладки ZSH: только полные файлы, а не двоичные файлы
  • Меню KSH, основанное на тексте, с использованием STDERR
  • $ VAR vs $ {VAR} и цитировать или не указывать
  • Символы имени действительной функции Shell
  • One Solution collect form web for “Как получить доступ к fpath пользователя, в отличие от fpath системы со сценарием?”

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

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

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