O problema é o espaço em torno do = no comando.
Olhe:
[:~] % alias a=ls
isso funciona como esperado
[:~] % type a
a is an alias for ls
Mas
[:~] % alias b =ls
[:~] 1 %
Isso não funciona. zsh veja duas palavras, b e =ls ; ele usa a expansão do nome do caminho no segundo e executa alias b /bin/ls --- sai silenciosamente com o código de erro 1 porque nem b ou /bin/ls são alias ( alias sem = verifica se um nome é um alias).
[:~] 1 % alias c ="ls -l"
zsh: ls -l not found
[:~] 1 %
Isso falha de uma maneira mais estranha; o shell está tentando expandir o caminho completo do comando "ls -l" ( com o espaço incorporado no nome do comando) e, portanto, está falhando ao procurá-lo.