Я пытаюсь справиться с функциями автозагрузки в Zsh. Я добавил папку, в которой я храню свои функции (~ / .zfuncs) в свой fpath, и добавил тестовую функцию
# ~/.zfuncs/myfunction
echo "Hello world!"
Это прекрасно работает, когда я автоматически загружаю его в моей консоли:
stephanie% autoload -Uz myfunction
stephanie% myfunction
Hello world!
Когда я пытаюсь запустить его в сценарии, это не работает:
#!/usr/bin/env zsh
# ~/scripts/test-myfunction.sh
autoload -Uz myfunction
myfunction
Запуск скрипта выдает ошибку:
stephanie% zsh ~/scripts/test-myfunction.sh
myfunction:5: myfunction: function definition file not found
Это работает, если я добавлю следующую строку в начало скрипта:
source ~/.zshrc
Что я пропускаю или делаю неправильно?