Send Notifikation i zsh Efter Kommando Afslutning: Sådan Gør Du!

Findes der en tilsvarende funktion i zsh's precmd til at udføre en handling efter en kommando er afsluttet, som kan sende en notifikation, hvis en proces tager over 60 sekunder?

Funktion i zsh til at sende notifikation efter en kommando er afsluttet kan implementeres ved at bruge `preexec` til at registrere starttidspunktet og `precmd` til at sende en notifikation, hvis kommandoen tager over 60 sekunder.

Funktion i zsh til at sende notifikation efter en kommando er afsluttet

Ja, i zsh kan du bruge en kombination af precmd og preexec hooks til at udføre handlinger før og efter en kommando. For at sende en notifikation, hvis en proces tager over 60 sekunder, kan du følge disse trin:

  1. Definer en preexec funktion til at registrere starttidspunktet for en kommando.
  2. Definer en precmd funktion til at beregne den tid, kommandoen tog, og sende en notifikation, hvis den tog over 60 sekunder.

Her er et eksempel på, hvordan du kan implementere dette:


# Definer en variabel til at gemme starttidspunktet
typeset -g start_time

# preexec hook til at registrere starttidspunktet
preexec() {
  start_time=$(date +%s)
}

# precmd hook til at beregne tid og sende notifikation
precmd() {
  local end_time=$(date +%s)
  local elapsed_time=$((end_time - start_time))

  if (( elapsed_time > 60 )); then
    # Send en notifikation (brug notify-send på Linux eller osascript på macOS)
    if command -v notify-send &> /dev/null; then
      notify-send "Kommandoen tog over 60 sekunder" "Kommandoen tog $elapsed_time sekunder at fuldføre."
    elif command -v osascript &> /dev/null; then
      osascript -e "display notification \"Kommandoen tog $elapsed_time sekunder at fuldføre.\" with title \"Kommandoen tog over 60 sekunder\""
    fi
  fi
}

Dette script vil sende en notifikation, hvis en kommando tager mere end 60 sekunder at fuldføre. Bemærk, at du skal have notify-send installeret på Linux eller bruge osascript på macOS for at sende notifikationer.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker