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