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

¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación