funkcja komendy zsh / hook


17

Czy istnieje odpowiednik preshd zsh do wykonywania funkcji po zakończeniu polecenia?

Szukam sposobu, aby wysłać sobie powiadomienie o każdym procesie, który zajmuje ponad 60 sekund. Zsh ma doskonałą zdolność do drukowania podsumowania zasobów używanych dla każdego polecenia, jeśli polecenie trwa dłużej niż wartość ustawiona w sekundach REPORTTIME. Z tego, co mogę powiedzieć, jedyną dostępną opcją jest wydrukowanie formatu w TIMEFMT.

(Mówiąc dokładniej, chcę wysłać sobie powiadomienie za pośrednictwem https://pushover.net/, jeśli jakikolwiek proces działający w odłączonej sesji Tmux zajmie ponad 60 sekund.)


13
Dlaczego to było zamknięte? Wydaje się to przydatne i ma dla mnie idealny sens.
Blacklight Shining

1
Zgadzam się, to dobre pytanie i nie powinno być zamknięte.
NorthIsUp

Wydaje się, że to podobne pytanie może na nie odpowiedzieć!
Brad Parks

Chciałbym, aby to pytanie zostało ponownie otwarte.
pawamoy

Próbowałeś notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"?
JW0914,

Odpowiedzi:


0

Możesz użyć, preexecaby rozpocząć odliczanie czasu od wykonania, a następnie precmduruchamianego po zakończeniu wykonywania polecenia i przed wyświetleniem monitu, aby ocenić, czy chcesz powiadomienie (i wysłać je).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.