Geralmente, se você quiser executar uma função bash, você precisará usar o intérprete bash. Algumas funções podem funcionar em zsh, pois possui uma sintaxe semelhante, mas existem diferenças que podem estar atrapalhando. Tente isso.
bash -c 'source bigscript.sh && func'
Há alguns tem que fazer isso. Se a função estiver configurando variáveis ou aliases, eles não estarão visíveis para zsh. Além disso, se bigscript.sh
contiver qualquer código que não esteja dentro de uma função, ele será executado quando o fornecimento for concluído, portanto, tenha cuidado. A última coisa que você deseja é que bigscript.sh
apague acidentalmente alguns arquivos ou faça outras alterações inesperadas. Se bigscript.sh
é apenas uma coleção de funções, você deve estar bem. Sua sessão zsh poderá coletar o código de retorno / saída da função e qualquer saída gravada no stdout.