El comando sleep
de GNU/Linux es uno de los comandos más sencillos que existen y que por su nombre podrás adivinar que su única función es dormir.
Básicamente este comando permite introducir un retardo durante un tiempo especificado. Si añades sleep
en medio de tus scripts escritos es bash
, puedes hacer que entre un comando y otro haya un tiempo de espera.
El comando sleep
tiene la siguiente sintaxis:
sleep Número[Sufijo]
Donde el sufijo corresponde a lo siguiente:
s
para los segundos. Esta opción es la que hay por defecto.m
para los minutos.h
para las horas.d
para los días.
Algunos ejemplos del comando sleep
Aunque el comando se puede usar directamente en la Terminal, el comando sleep
se suele utilizar en scripts escritos en bash. Por ejemplo, vamos a mirar como ejecutar un retrado de 5 segundos:
sleep 5
En un ejemplo para un script en bash:
#!/bin/bash
echo "Iniciando..."
sleep 5
echo "Han pasado 5 segundos"
Utilizando otros sufijos: minutos, horas y días
Para el caso de los minutos, deberemos de ponerlo así:
sleep 1m
Esto pausará el script/shell durante un minuto. Si quieres retrasar el script en horas, puedes hacerlo con la opción h
:
sleep 1h
Incluso si quieres pausar durante días, puedes hacerlo con el sufijo d
:
sleep 3d
Combinación de los sufijos
También podemos combinar los sufijos, por lo que podemos hacer un retardo de 1 día, 9 horas, 59 minutos y 2 segundos.
sleep 1d 9h 59m 2s
Utilizar decimales para los segundos
¿Pero qué pasa si tu script bash quiere dormir durante milisegundos? ¿Se puede? Por supuesto 😎
Lo bueno es que puedes usar punto flotante (puntos decimales) con el comando sleep
.
sleep 0.005
Pero también puedes usarlo en otros sufijos, por ejemplo, para determinar una hora y media:
sleep 1.5h
Comentarios