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 "$@"
}