Sintaxi de l'ordre de repòs:
número de son [sufix]
Podeu utilitzar qualsevol nombre enter o fraccionari com a valor de temps. La part del sufix és opcional per a aquesta ordre. Si ometeu el sufix, el valor del temps es calcula per defecte com a segons. Pots fer servir s, m, h i d com a valor de sufix. Els exemples següents mostren l'ús de l'ordre sleep amb sufixos diferents.
Exemple-1: ordre sleep sense cap sufix
Al següent script s’utilitza l’ordre sleep amb valor numèric 2 només i no s’utilitza cap sufix. Per tant, si executeu l'script, la cadena Tasca completada s'imprimirà després d'esperar 2 segons.
#! / bin / bash
trobo 'Esperant 2 segons ...'
dormir 2
trobo 'Tasca completada'
Executeu el fitxer bash amb temps per mostrar els tres tipus de valors de temps per executar l'script. La sortida mostra el temps utilitzat per un sistema, l'usuari i el temps real.
$temps bashsleep1.sh
Sortida:
Exemple-2: ordre sleep amb un sufix de minut
Al següent guió, ' m ‘S’utilitza com a sufix amb ordre sleep. Aquí, el valor del temps és de 0,05 minuts. Després d’esperar 0,05 minuts, Tasca completada s'imprimirà el missatge.
#! / bin / bashtrobo 'Esperant 0,05 minuts ...'
dormir0,05 m
trobo 'Tasca completada'
Executeu l'script amb temps com el primer exemple.
$temps bashsleep2.shSortida:
Exemple-3: ordre de son amb sufix d'hora
Al següent guió, ' h ‘S’utilitza com a sufix amb ordre sleep. Aquí, el valor del temps és de 0,003 hores. Després d'esperar 0,003 hores Tasca completada s'ha d'imprimir a la pantalla, però requereix més vegades en realitat 'H' s’utilitza el sufix.
#! / bin / bashtrobo 'Esperant 0,003 hores ...'
dormir0.003h
trobo 'Tasca completada'
$temps bashsleep3.sh
Sortida:
Exemple-4: ordre sleep amb bucle
Podeu utilitzar l'ordre sleep per a diversos propòsits. A l'exemple següent, s'utilitza l'ordre sleep amb while loop. Inicialment, el valor de la variable n s'estableix a 1 i el valor de n s'incrementarà per 1 per 4 vegades en cada 2 interval de segons. Per tant, quan executareu l'script, cada sortida apareixerà després d'esperar 2 segons.
#! / bin / bashn=1
mentre [ $ n -lt 5 ]
fer
trobo 'El valor de n és ara$ n'
dormir2 s
trobo ''
((n=$ n+1))
fet
Sortida:
Exemple-5: ordre sleep al terminal amb altres ordres
Suposem que voleu executar diverses ordres i establir l'interval de temps fixat entre les sortides de dues ordres i, a continuació, podeu utilitzar l'ordre sleep per fer aquesta tasca. En aquest exemple, l'ordre ls i pwd estan amb dormir comandament. Després d’executar l’ordre, ls L'ordre mostrarà la llista de directoris del directori actual i mostrarà la ruta del directori de treball actual després d'esperar 2 segons.
$ls && dormir 2 && pwdSortida:
Exemple-6: utilitzar l'ordre sleep des de l'indicador d'ordres
L'ordre sleep s'utilitza entre dues ordres de ressò a l'exemple següent. Es mostraran tres valors de temps després d'executar l'ordre.
$temps (trobo 'Començar';dormir 5;trobo 'Final')Sortida:
l'ordre sleep és una ordre útil quan cal escriure un script bash amb diverses ordres o tasques, la sortida de qualsevol ordre pot requerir una gran quantitat de temps i una altra ordre ha d'esperar per completar la tasca de l'ordre anterior. Per exemple, voleu descarregar fitxers seqüencials i la següent descàrrega no es pot iniciar abans de completar la descàrrega anterior. En aquest cas, és millor dormir l'ordre abans de cada descàrrega per esperar el temps fixat.