A Linux Sleep parancs használata a BASH-szkript szüneteltetésére
Mit kell tudni
- Használja a alvás parancs plusz egy idő; s=másodpercig, m=percek, h=órák, vagy d=napok (például, alvás 5 mp 5 másodpercre szünetelteti a szkriptet).
- Használat ember alszik többért.
Ez a cikk elmagyarázza, hogyan használható a Linux alvás parancs a a bash script, többek között. Önmagában az alvás parancs nem túl hasznos. Egy szkript részeként azonban sokféleképpen használható. Használhatja például a szkript leállítására, mielőtt újra megpróbálná az első alkalommal meghiúsult parancsot.

Példa az Alvás parancs használatára
Képzelje el, hogy van egy szkriptje, amely feldolgozza a másik szerverről letöltött fájlokat. A szkriptnek nem szabad elindítania a másolási folyamatot, amíg az összes fájl letöltése be nem fejeződik. A letöltési folyamatot egy külön szkript hajtja végre, amely az Öné előtt fut.
A fájlokat másoló szkript tartalmazhat egy ciklust annak ellenőrzésére, hogy az összes fájl letöltődött-e (ezt úgy teszi, hogy a másolási folyamat megkezdése előtt ellenőrzi, hogy a rendszer 50 fájlt talál-e).
Nincs értelme a szkriptet folyamatosan tesztelni, mivel ez processzoridőt használ. Ehelyett néhány perc szünetet tarthat az egyes tesztek között, mielőtt újra próbálkozna. Az alvás parancs tökéletes ilyen körülmények között.
Az Alvás parancs használata
A Linux alvás parancs használatához írja be a következőt a terminálablakba:
alvás 5 mp
A fenti parancs hatására a terminál 5 másodpercre szünetet tart, mielőtt visszatérne a parancssorba.
Az alvás parancshoz a kulcsszó szükséges alvás, ezt követi a szüneteltetni kívánt szám és a mértékegység.
Megadhatja a késleltetést másodpercben, percben, órában vagy napban.
- s: Másodpercek
- m: Percek
- h: Órák
- d: Napok
Ha egy szkriptet napokra szüneteltet, használjon cron feladatot a szkript rendszeres időközönkénti futtatásához, szemben azzal, hogy a szkript napokig fut a háttérben.
A cron-feladat egy Linux-parancs vagy szkript, amely ütemezhető egy meghatározott időben vagy napon. Ezek hasznosak a feladatok hosszú időn keresztüli ismétléséhez.
Az alvás parancs intervallumának számának nem kell egész számnak lennie. Lebegőpontos számokat is használhat.

Például a következő szintaxis a másodperc töredékét tartalmazza:
alvás 3,5 mp
Példa az Alvás parancs használatára
A következő szkript megmutatja, hogyan kell az alvás parancsot használni terminálalapú visszaszámláló óra létrehozásához:
#!/bin/bash
x=10
míg [ $x -gt 0 ]
csináld
alvás 1s
egyértelmű
echo "$x másodperc a robbanásig"
x=$(($x - 1 ))
Kész
A szkript a következőképpen működik:
- A szkript az x változót 10-re állítja.
- A while ciklus folytatja az iterációt, miközben az x értéke nagyobb, mint nulla.
- Az alvás parancs minden alkalommal 1 másodpercre szünetelteti a szkriptet a ciklus körül.
- A szkript többi része minden iterációnál törli a képernyőt, megjeleníti az "x másodperc a felrobbanásig" üzenetet, és kivonja az 1-et az x értékéből.

Az alvás parancs nélkül a szkript nagyítana, és az üzenetek túl gyorsan jelennének meg.
Az alvó parancskapcsolók használata
Az alvás parancsnak csak néhány kapcsolója van.
Az --Segítség kapcsoló az alvás parancs súgófájlját mutatja. Ugyanezt érheti el a man paranccsal az alábbiak szerint:
ember alszik.
Az --változat kapcsoló mutatja a rendszerre telepített alvásparancs verzióját.
A --version kapcsoló által visszaadott információ a következő:
- Verziószám
- Szerzői jogi részletek
- Engedély
- Szerzői
A terminálparancsok szüneteltetése alvó üzemmódban
Az alvás parancs másik jó felhasználási módja a terminálablakba beírt parancsok szüneteltetése.
Ha akarja, beírhat két parancsot egymás után, megvárva, amíg az első befejeződik, mielőtt begépelné a másodikat.
Gyorsabb megoldás azonban az, ha a két parancsot egy sorba írjuk be, az egyes parancsok közé egy alvás parancsot helyezve:
$ cd /sajátkönyvtár/ && alvás 3 && ls.
Hogyan működik ez a parancs:
- Az cd /sajátkönyvtár/ parancs megváltoztatja a könyvtárat.
- Az alvás 3 parancs három másodpercet vár, amíg a cd parancs befejeződik.
- Az ls parancs végrehajtja és megjeleníti a könyvtár tartalmát.
Egy ilyen egyszerű példa esetében az alvás parancs csak egy kis időt takarít meg. Ha azonban hosszú a parancsok listája, a parancsok egy sorba történő beírása időt takarít meg.