zsh post comando funzione / hook


16

Esiste un equivalente del precmd di zsh per eseguire una funzione dopo che un comando è stato completato?

Sto cercando un modo per inviarmi una notifica per qualsiasi processo che richiede più di 60 secondi. Zsh ha una grande capacità di stampare un riepilogo delle risorse utilizzate per ciascun comando se il comando impiega più tempo del valore impostato in REPORTTIME secondi. Da quello che posso dire, l'unica opzione disponibile è stampare il formato in TIMEFMT.

(Più specificamente, sto cercando di inviarmi una notifica con https://pushover.net/ se un processo in esecuzione in una sessione tmux distaccata impiega più di 60 secondi per essere completato.)


13
Perché è stato chiuso? Mi sembra utile e ha perfettamente senso per me.
Blacklight Shining

1
Sono d'accordo, questa è una buona domanda e non avrebbe dovuto essere chiusa.
NorthIsUp,

Sembra che questa domanda simile possa rispondere!
Brad Parks,

Vorrei che questa domanda fosse riaperta, per favore.
pawamoy,

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

Risposte:


0

È possibile utilizzare preexecper iniziare il conteggio del tempo dall'esecuzione e quindi precmdche viene eseguito al termine dell'esecuzione del comando e prima che venga visualizzato il prompt per valutare se si desidera o meno la notifica (e inviarlo).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.