zshでprecmdやpreexec、chpwdなどを定義する場合、precmd(){…}のようにそのまま関数を定義する方法と、add-zsh-hookを使ってフックする関数を登録する方法があります。 前者の方法のみであれば、普通にprecmd関数を呼べば良いが、後者の方法を使用してる場合はどうするかという話。 add-zsh-hookで登録した関数は、precmdであればprecmd_functions変数に配列として登録されています。 よってこの配列を使用して以下のように関数を呼び出します。