zsh повідомлення командна функція / гачок


17

Чи є еквівалент preshd zsh для виконання функції після виконання команди?

Я шукаю спосіб відправити сповіщення про будь-який процес, який займає більше 60 секунд. Zsh має чудову можливість друкувати підсумок ресурсів, використовуваних для кожної команди, якщо команда займає більше часу, ніж значення, встановлене в REPORTTIME секунд. З того, що я можу сказати, єдиний доступний варіант - це надрукувати формат у TIMEFMT.

(Більш конкретно, я хочу надсилати собі повідомлення за адресою https://pushover.net/, якщо будь-який процес, запущений в окремому сеансі tmux, займає понад 60 секунд.)


13
Чому це було закрито? Це здається корисним і має ідеальний сенс для мене.
Blacklight Shining

1
Я згоден, це гарне питання, і його не слід було закривати.
NorthIsUp

Схоже, що подібне питання може відповісти на нього!
Бред Паркс

Я б хотів, щоб це питання було знову відкрито.
pawamoy

Ви пробували notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"?
JW0914

Відповіді:


0

Ви можете використовувати preexecдля початку підрахунку часу з часу виконання, а потім, precmdякий запускається після завершення виконання команди та перед тим, як з'явиться запит, щоб оцінити, хочете ви чи ні повідомлення (і надіслати його).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.