Execute abaixo de set -x para ver onde está o problema. O relatório de números de linha do Zsh parece estar fora de emulate -c .
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Para conformidade com POSIX, você precisa de aspas duplas aqui, porque export é analisado como um comando comum. Sem as aspas, $PATH é dividido em palavras de acordo com o valor de IFS e cada palavra é interpretada como um padrão de caractere curinga, como sempre acontece em shells no estilo Bourne (sem incluir zsh). Bash e ksh tratam export especialmente e analisam o argumento como uma atribuição, e zsh não faz divisão variável a menos que seja explicitamente instruído, mas você não tem esse luxo no modo de emulação sh do zsh ou em traço.
Você pode usar qualquer um dos seguintes estilos:
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
export "PATH=/usr/local/bin:/usr/local/sbin:$PATH"
export PATH=/usr/local/bin:/usr/local/sbin:"$PATH"
Ou você pode deixar o export . Exceto em shells antigos pré-POSIX Bourne, uma vez que uma variável esteja no ambiente, as atribuições alteram o valor no ambiente, você não precisa chamar export novamente. Em uma tarefa, você não precisa usar aspas (mas você pode, se preferir).
PATH=/usr/local/bin:/usr/local/sbin:$PATH
Veja Quando é necessário fazer uma cotação dupla? mais da boa impressão de quando você pode sair sem aspas.