ฟังก์ชันคำสั่ง zsh post / hook


17

มี precmd ของ zsh เทียบเท่ากับการทำหน้าที่หลังจากคำสั่งเสร็จสิ้นหรือไม่?

ฉันกำลังมองหาวิธีที่จะส่งการแจ้งเตือนตัวเองสำหรับกระบวนการใด ๆ ที่ใช้เวลานานกว่า 60 วินาที Zsh มีความสามารถที่ดีในการพิมพ์ข้อมูลสรุปของทรัพยากรที่ใช้สำหรับแต่ละคำสั่งหากคำสั่งใช้เวลานานกว่าค่าที่ตั้งไว้ใน REPORTTIME วินาที จากสิ่งที่ฉันสามารถบอกได้ตัวเลือกเดียวที่มีคือการพิมพ์รูปแบบใน TIMEFMT

(โดยเฉพาะอย่างยิ่งฉันต้องการส่งการแจ้งเตือนด้วยตนเองด้วยhttps://pushover.net/หากกระบวนการใด ๆ ที่ทำงานในเซสชั่น tmux ที่แยกออกใช้เวลานานกว่า 60 วินาทีในการดำเนินการให้เสร็จ)


13
ทำไมสิ่งนี้จึงถูกปิด ดูเหมือนว่ามีประโยชน์และเหมาะสมอย่างยิ่งสำหรับฉัน
แบล็กไลท์ส่องแสง

1
ฉันเห็นด้วยนี่เป็นคำถามที่ดีและไม่ควรถูกปิด
NorthIsUp

ดูเหมือนว่าคำถามที่คล้ายกันนี้อาจตอบได้!
Brad Parks

ฉันอยากจะเปิดคำถามนี้อีกครั้ง
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จะทำงานหลังจากที่การดำเนินการคำสั่งเสร็จสิ้นและก่อนที่จะมีข้อความแจ้งให้ประเมินว่าคุณต้องการหรือไม่แจ้งเตือน (และส่ง)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.