Cómo usar el comando Sleep para suspender un script en Linux

27 feb 2021 2 min di lettura
Cómo usar el comando Sleep para suspender un script en Linux
Indice dei contenuti

Introducción

Sleep es una utilidad de línea de comandos que le permite suspender el proceso de llamada durante un período de tiempo específico. En otras palabras, el comando sleep detiene la ejecución del siguiente comando durante un número específico de segundos.

El comando sleep es particularmente útil cuando se usa dentro de un script de shell bash, como cuando se intenta reintentar una operación fallida o dentro de un bucle.

En este tutorial, le mostraremos cómo usar el comando de suspensión de Linux.

Cómo usar el comando dormir

La sintaxis del comando sleep es la siguiente:

sleep NUMBER [SUFFIX]...

NUMBER puede ser un número entero positivo o un número de coma flotante.

SUFFIX puede ser uno de los siguientes:

  • s - segundos (predeterminado)
  • m - minutos
  • h - horas
  • d - días

Cuando no se utiliza ningún sufijo, el valor predeterminado es segundos.

Cuando se especifican dos o más argumentos, la cantidad total de tiempo es equivalente a la suma de sus valores.

A continuación, se muestran algunos ejemplos sencillos que demuestran cómo utilizar el comando sleep:

Pausa por 5 segundos:

sleep 5

Pausa por 0.5 segundos:

sleep 0.5

Suspender durante 2 minutos y 30 segundos:

sleep 2m 30s

Ejemplos de scripts Bash

A continuación se muestra el ejemplo más básico de cómo usar el comando de suspensión en los scripts Bash. Cuando ejecute el script, la hora actual se imprimirá en el formato HH:MM:SS. Luego, el comando de suspensión suspenderá el script durante 5 segundos. Una vez transcurrido el tiempo especificado, la última línea del script imprime de nuevo la hora actual.

#!/bin/bash

 # start time
 date +"%H:%M:%S"

 # sleep for 5 seconds
 sleep 5

 # end time
 date +"%H:%M:%S"

La salida se verá así:

13:34:40
 13:34:45

Echemos un vistazo a un ejemplo más avanzado.

#!/bin/bash

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

La secuencia de comandos anterior verificará si un host está en línea o no cada 5 segundos y cuando el host esté en línea, la secuencia de comandos le advertirá y se detendrá.

Cómo funciona el guión:

  • En la primera línea, estamos creando un bucle while infinito.
  • Entonces, estamos usando el comando ping para determinar si el host con dirección IP ip_address es accesible o no.
  • Si el host es accesible, el script hará eco de "Host is online" y finalizará el ciclo.
  • Si no se puede acceder al host, el comando sleep detiene el script durante 5 segundos y luego el ciclo comienza desde el principio.

Conclusión

A estas alturas, debería tener una buena comprensión de cómo usar el comando de suspensión de Linux.

El comando sleep es uno de los comandos de shell más simples, que toma solo un argumento que se usa para especificar el intervalo de suspensión.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.