Android

Hvordan bruke linux sleep-kommandoen til å pause et bash-skript

Deepin 20 удивляет, Fedora 33, Pop OS 20.10, Ubuntu Budgie, Studio 20.10 и другие дистрибутивы Linux

Deepin 20 удивляет, Fedora 33, Pop OS 20.10, Ubuntu Budgie, Studio 20.10 и другие дистрибутивы Linux

Innholdsfortegnelse:

Anonim

Sleep er et kommandolinjeverktøy som lar deg stoppe anropsprosessen i en spesifisert tid. Med andre ord stopper søvnkommandoen utførelsen på neste kommando i et gitt antall sekunder.

Sleep-kommandoen er spesielt nyttig når den brukes i et bash shell-skript, for eksempel når du prøver på nytt en mislykket operasjon eller inne i en loop.

I denne opplæringen vil vi vise deg hvordan du bruker Linux-søvnkommandoen.

Hvordan bruke søvnkommandoen

Syntaks for søvnkommandoen er som følger:

sleep NUMBER…

NUMBER kan være et positivt heltall eller et flytende punktnummer.

SUFFIX kan være ett av følgende:

  • s - sekunder (standard) m - minutter h - timer d - dager

Når ingen suffiks brukes, er den standard til sekunder.

Når to eller flere argumenter er spesifisert, tilsvarer den totale tiden en summen av verdiene.

Her er noen enkle eksempler som viser hvordan du bruker søvnkommandoen:

  • Sov i 5 sekunder:

    sleep 5

    Sov i 0, 5 sekunder:

    sleep 0.5

    Sov i 2 minutter og 30 sekunder:

    sleep 2m 30s

Eksempler på Bash-skript

Nedenfor er det mest grunnleggende eksemplet på hvordan du bruker søvnkommandoen i Bash-skriptene. Når du kjører skriptet, vil det skrive ut gjeldende klokkeslett i HH:MM:SS format. Deretter vil dvalekommandoen pause skriptet i 5 sekunder. Når den angitte tidsperioden går, vil den siste linjen i skriptet skrive ut gjeldende tid igjen.

#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"

Utgangen vil se slik ut:

13:34:40 13:34:45

La oss se på et mer avansert eksempel.

#!/bin/bash while: do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done

Skriptet over vil sjekke om en vert er online eller ikke hvert 5. sekund, og når verten går online vil skriptet varsle deg og stoppe.

Slik fungerer skriptet:

  • I den første linjen oppretter vi en uendelig mens loopen. Da bruker vi ping-kommandoen for å bestemme om verten med IP-adressen til ip_address kan nås eller ikke. Hvis verten er tilgjengelig, vil skriptet ekko “Verten er online” og avslutte loopen. Hvis verten ikke kan nås, stopper søvnkommandoen skriptet i 5 sekunder, og deretter starter loopen fra begynnelsen.

Konklusjon

Nå skal du ha en god forståelse av hvordan du bruker Linux-søvnkommandoen.

Søvnkommandoen er en av de enkleste skallkommandoene, og godtar bare ett argument som brukes til å spesifisere søvnintervallet.

søvnterminal