O que está acontecendo é que você está chamando recursivamente sua função ls
. Para usar o binário, você pode usar o command
builtin do ZSH.
function ls {
command ls -l "$@"
}
Como posso escrever uma função em zsh
que invoca um comando existente com o mesmo nome da própria função? Por exemplo, tentei ilustrar minha pergunta:
function ls
{
ls -l $1 $2 $3
}
Quando executo com ls *
, obtenho o seguinte:
ls:1: maximum nested function level reached
Eu assumo isso porque a função está sendo chamada recursivamente. Como posso evitar isso?
Este é um exemplo bruto e, neste caso, um alias faria o trabalho, mas eu tenho um exemplo mais complexo em que um alias não é adequado e, portanto, eu precisaria escrever uma função.