Функция команды zsh post / hook


16

Есть ли эквивалент выполнения команды 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.