BASH obsługuje $PROMPT_COMMAND
zmienną środowiskową, która definiuje polecenie, które należy wykonać przed dowolnym interaktywnym monitem pierwszego poziomu. Szukam ekwiwalentu tego ZSH.
Dokumentacja mówi, że istnieje funkcja, precmd
którą mogę zdefiniować, aby ją osiągnąć; nie mam jednak pojęcia, jak to zdefiniować na podstawie zmiennej środowiskowej.
Rozważałem przekazanie zmiennej środowiskowej, która zmusiłaby ZSH do odczytania pliku zawierającego definicję tej funkcji, ale ZSH nie wydaje się obsługiwać takich rzeczy : odczytuje tylko pliki globalne, a następnie pliki poszczególnych użytkowników. Mogę je zastąpić, ale nie mogę ich dodać bez modyfikacji plików, czego nie mogę zrobić.
Jak więc zdefiniować przechwytywanie przed monitem w ZSH za pomocą zmiennej środowiskowej, tak jak zrobiłbym to $PROMPT_COMMAND
w BASH?
exit
exec
;)
start() { eval "$@"; echo post-command-code }
a następnie skorzystaj z wiązania zle, aby wykonać wiersz komend z start
rozszerzonym?
DEBUG
Pułapka jest miły znaleźć, ale nadal masz problem, jak go zdefiniować. Ponownie udzieliłem odpowiedzi, ale pozostawiam wam napisanie własnej odpowiedzi dotyczącej rozwiązania pułapki DEBUG. :)