zsh fungsi perintah post / kait

16

Apakah ada persamaan dengan zsh's precmd untuk menjalankan fungsi setelah perintah selesai?

Saya mencari cara untuk mengirimkan pemberitahuan kepada diri saya sendiri untuk proses apa pun yang membutuhkan waktu lebih dari 60 detik. Zsh memiliki kemampuan hebat untuk mencetak ringkasan sumber daya yang digunakan untuk setiap perintah jika perintah tersebut membutuhkan waktu lebih lama dari nilai yang ditetapkan dalam REPORTTIME detik. Dari apa yang dapat saya katakan, satu-satunya pilihan yang tersedia adalah mencetak format dalam TIMEFMT.

(Lebih khusus lagi, saya ingin mengirimkan pemberitahuan kepada diri sendiri dengan https://pushover.net/ jika ada proses yang berjalan dalam sesi tmux terpisah membutuhkan waktu lebih dari 60 detik untuk menyelesaikannya.)

Geoffrey Gallaway
sumber
13
Kenapa ini ditutup? Tampaknya bermanfaat dan sangat masuk akal bagi saya.
Blacklight Shining
1
Saya setuju, ini pertanyaan yang bagus dan seharusnya tidak ditutup.
NorthIsUp
Sepertinya pertanyaan serupa ini dapat menjawabnya!
Brad Parks
Saya ingin pertanyaan ini dibuka kembali.
pawamoy
Sudahkah Anda mencoba notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"?
JW0914

Jawaban:

0

Anda dapat menggunakan preexecuntuk mulai menghitung waktu sejak eksekusi dan kemudian precmdyang berjalan setelah eksekusi perintah selesai dan sebelum prompt diambil untuk mengevaluasi apakah Anda ingin atau tidak pemberitahuan (dan mengirimkannya).

blami
sumber