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
- minutosh
- horasd
- 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.