2017-02-08 9 views
1

У меня есть несколько функций в моем списке функций Z shellprecmd.Как удалить функцию префикса Z-оболочки?

я могу видеть их с

echo $precmd_functions 

В этом списке я вижу функция называется _ntfy_precmd

Как я могу удалить его из списка функций?

(эта функция была добавлена ​​после установки https://github.com/dschep/ntfy)

ответ

1

Так же, как с добавлением функции precmd у вас есть два варианта:

  1. Непосредственно управлять precmd_functions массив:

    precmd_functions=(${precmd_functions:#_ntfy_precmd}) 
    

    ${name:#pattern} расширение параметра, когда используется в массиве, удаляет все элементы, соответствующие pattern с расширением name.

  2. Используйте утилиту add-zsh-hook для удаления функции из крюковых функциев списков:

    add-zsh-hook -d precmd _ntfy_precmd 
    

    Если zsh говорит вам, что нет add-zsh-hook команды, вы можете загрузить его с

    autoload -Uz add-zsh-hook 
    

BTW: Вы можете перечислить функции с помощью add-zsh-hook -L [HOOK], тоже.