Eu descobri, com informações de this
Estou tentando entender as funções de carregamento automático no zsh. Eu adicionei a pasta em que estou armazenando minhas funções (~ / .zfuncs) para o meu fpath, e eu adicionei uma função de teste
# ~/.zfuncs/myfunction
echo "Hello world!"
Isso funciona bem quando eu carrego automaticamente no meu console:
stephanie% autoload -Uz myfunction
stephanie% myfunction
Hello world!
Quando tento executá-lo em um script, isso não funciona:
#!/usr/bin/env zsh
# ~/scripts/test-myfunction.sh
autoload -Uz myfunction
myfunction
A execução do script produz um erro:
stephanie% zsh ~/scripts/test-myfunction.sh
myfunction:5: myfunction: function definition file not found
Funciona se eu adicionar a seguinte linha ao início do script:
source ~/.zshrc
O que estou perdendo ou fazendo de errado?
Tags zsh