Função de comando zsh post / hook

16

Existe um equivalente ao precmd do zsh para executar uma função após a conclusão de um comando?

Estou procurando uma maneira de me enviar uma notificação para qualquer processo que leve mais de 60 segundos. O Zsh possui uma grande capacidade de imprimir um resumo dos recursos usados ​​para cada comando, se o comando demorar mais que o valor definido em REPORTTIME segundos. Pelo que sei, a única opção disponível é imprimir o formato no TIMEFMT.

(Mais especificamente, pretendo me enviar uma notificação com https://pushover.net/ se qualquer processo em execução em uma sessão tmux desanexada demorar mais de 60 segundos para ser concluído.)

Geoffrey Gallaway
fonte
13
Por que isso foi fechado? Parece útil e faz todo sentido para mim.
Blacklight Shining
1
Concordo, esta é uma boa pergunta e não deveria ter sido fechada.
NorthIsUp 29/01
Parece que essa pergunta semelhante pode respondê-la!
Brad Parks
Gostaria que esta pergunta fosse reaberta, por favor.
pawamoy
Você já tentou notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"?
JW0914

Respostas:

0

Você pode usar preexecpara começar a contar o tempo desde a execução e depois precmdexecutar após a execução do comando e antes do prompt ser desenhado para avaliar se você deseja ou não a notificação (e enviá-la).

blami
fonte