동일한 이름으로 기존 명령을 호출하기 위해 zsh에서 함수를 만드는 방법은 무엇입니까?

동일한 이름으로 기존 명령을 호출하기 위해 zsh에서 함수를 만드는 방법은 무엇입니까?

zsh함수 자체와 이름이 같은 기존 명령을 호출하는 함수를 어떻게 작성할 수 있나요 ? 예를 들어, 나는 내 문제를 다음과 같이 설명하려고 했습니다.

function ls 
{
    ls -l $1 $2 $3
}

실행하면 ls *다음과 같은 결과를 얻습니다.

ls:1: maximum nested function level reached

함수가 재귀적으로 호출되기 때문인 것 같습니다. 이것을 어떻게 피할 수 있습니까?

이것은 별칭이 작업을 수행하는 대략적인 예이지만 별칭이 적절하지 않은 더 복잡한 예가 있으므로 함수를 작성해야 합니다.

답변1

무슨 일이 일어나고 있는지는 함수를 재귀적으로 호출하고 있다는 것입니다 ls. 바이너리로 작업하려면 ZSH의 command내장 기능을 사용할 수 있습니다.

function ls {
    command ls -l "$@"
}

관련 정보