Android

Jak pomocí příkazu linux spánku pozastavit bash skript

#133 Safe Shutdown for Raspberry Pi with Super Capacitors

#133 Safe Shutdown for Raspberry Pi with Super Capacitors

Obsah:

Anonim

Spánek je obslužný program příkazového řádku, který vám umožňuje pozastavit proces volání na stanovenou dobu. Jinými slovy, příkaz spánku pozastaví provádění dalšího příkazu na daný počet sekund.

Příkaz spánku je zvláště užitečný, když je použit v skriptu bash shell, například při opakování neúspěšné operace nebo uvnitř smyčky.

V tomto tutoriálu vám ukážeme, jak používat příkaz spánku systému Linux.

Jak používat příkaz spánku

Syntaxe příkazu spánku je následující:

sleep NUMBER…

NUMBER může být kladné celé číslo nebo číslo s pohyblivou řádovou čárkou.

SUFFIX může být jedním z následujících:

  • s - sekundy (výchozí) m - minuty h - hodiny d - dny

Pokud není použita žádná přípona, je výchozí hodnota sekund.

Pokud jsou zadány dva nebo více argumentů, je celková doba ekvivalentní součtu jejich hodnot.

Zde je několik jednoduchých příkladů demonstrujících použití příkazu spánku:

  • Spát po dobu 5 sekund:

    sleep 5

    Spánek po dobu 0, 5 sekundy:

    sleep 0.5

    Spát 2 minuty a 30 sekund:

    sleep 2m 30s

Příklady skriptů Bash

Níže je uveden nejzákladnější příklad použití příkazu spánku ve vašich skriptech Bash. Při spuštění skriptu se vytiskne aktuální čas ve formátu HH:MM:SS . Příkaz spánku pozastaví skript na 5 sekund. Když uplyne zadané časové období, poslední řádek skriptu znovu vytiskne aktuální čas.

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

Výstup bude vypadat asi takto:

13:34:40 13:34:45

Pojďme se podívat na pokročilejší příklad.

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

Skript výše zkontroluje, zda je hostitel online nebo ne každých 5 sekund, a když hostitel přejde do režimu online, skript vás upozorní a zastaví.

Jak skript funguje:

  • V prvním řádku vytváříme nekonečnou smyčku. Poté pomocí příkazu ping určujeme, zda je hostitel s IP adresou ip_address dosažitelný nebo ne. Pokud je host dosažitelný, skript ozve „Host je online“ a ukončit smyčku.Pokud host není dosažitelný, příkaz spánku pozastaví skript na 5 sekund a smyčka začíná od začátku.

Závěr

Nyní byste měli dobře rozumět tomu, jak používat příkaz spánku systému Linux.

Příkaz sleep je jedním z nejjednodušších příkazů shellu a přijímá pouze jeden argument, který se používá ke stanovení intervalu spánku.

spánkový terminál