同じ名前で既存のコマンドを呼び出すために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 "$@"
}

おすすめ記事