同じ名前の関数内から組み込みコマンドを使用するか、またはどこか他のそのことについては、するためには、あなたがbuiltin
PRECOMMAND修飾子を使用することができます
function cd() {
builtin cd $1
ls .
}
builtin COMMAND
をして組み込みを使用することがzshのを伝えます同じ名前のエイリアス、ファンクション、または外部コマンドの代わりにCOMMAND
という名前を使用します。このような組み込み関数が存在しない場合は、エラーメッセージが出力されます。あなたの代わりにエイリアスの外部コマンドを使用したい場合のために
、組み込みまたは同じ名前の関数は、command
PRECOMMAND修飾子を使用することができます。たとえば:
command echo foobar
は、これは(ほとんどの場合/bin/echo
)の代わりにのzshの組み込みecho
のバイナリecho
を使用します。機能builtin
とcommand
とは異なり
通常の再帰を防止するための別名を持つ必要はありません。エイリアス定義でエイリアスを使用することは可能ですが、
% alias xx="echo x:"
% alias yy="xx y:"
% yy foobar
y: x: foobar
各エイリアス名は1回だけ展開されます。 2番目の場合、エイリアスは展開されず、関数、組み込みコマンドまたは外部コマンドが使用されます。あなたは、特に組み込みまたは外部コマンドを使用したい場合はもちろん
% alias echo="echo echo:"
% echo foobar
echo: foobar
% alias xx="yy x:"
% alias yy="xx y:"
% xx foobar
zsh: command not found: xx
、あなたはまだあなたが別のエイリアスの使用を防止したい場合は、別名でbuiltin
またはcommand
を使用するか、またはすることができます。例えば、このバイナリecho
で
alias echo="command echo"
代わりに組み込みのに使用されます。