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