如何在zsh中创建一个函数来调用具有相同名称的现有命令?


9

如何编写一个zsh调用与该函数本身同名的现有命令的函数?例如,我试图以此来说明我的问题:

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

当我执行它时,ls *我得到以下信息:

ls:1: maximum nested function level reached

我认为这是因为函数被递归调用。我该如何避免呢?

这是一个粗略的示例,在这种情况下,别名可以胜任,但是我有一个更复杂的示例,其中别名不适合,因此我需要编写一个函数。

Answers:


25

发生的事情是您递归调用ls函数。为了使用二进制文件,可以使用ZSH的command内置函数。

function ls {
    command ls -l "$@"
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.