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:
spara los segundos. Esta opción es la que hay por defecto.mpara los minutos.hpara las horas.dpara 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 5En 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 1mEsto pausará el script/shell durante un minuto. Si quieres retrasar el script en horas, puedes hacerlo con la opción h:
sleep 1hIncluso si quieres pausar durante días, puedes hacerlo con el sufijo d:
sleep 3dCombinació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 2sUtilizar 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.005Pero también puedes usarlo en otros sufijos, por ejemplo, para determinar una hora y media:
sleep 1.5h
Comentarios