BASH поддерживает $PROMPT_COMMANDпеременную среды, которая определяет команду, выполняемую перед любым интерактивным приглашением первого уровня. Я ищу ZSH-эквивалент этого.
Документация говорит, что есть функция, которую precmdя могу определить для достижения этой цели; однако я понятия не имею, как определить его из переменной среды.
Я рассмотрел передачу переменной среды, которая заставит ZSH прочитать файл, содержащий определение этой функции, но ZSH , похоже, не поддерживает такие вещи : он читает только глобальные файлы, а затем файлы для каждого пользователя. Я могу заменить их, но я не могу добавить к ним без изменения файлов, что я не могу сделать.
Итак, как мне определить хук предварительного запроса в ZSH через переменную окружения, как я бы использовал $PROMPT_COMMANDв BASH?
exitи exec, ок ;))
start() { eval "$@"; echo post-command-code }а затем использовать zle-привязку для выполнения командной строки с помощью startprepended?
DEBUGЛовушка хорошая находка, но вы все еще есть проблема , как определить его. Я еще раз расширил свой ответ, но я оставляю вам право написать свой собственный ответ относительно решения ловушки DEBUG. :)