El comando sleep que fija un tiempo para llevar a cabo una acción. Es como un cronometro, cuando termina la cuenta se realiza la acción que le sigue. Por defecto la cuenta es en segundos; se puede cambiar hasta días con los suffix.
Sintaxis
sleep [--help] [--version] numero[smhd]…
Suffix
Las unidades de tiempo disponibles y como se especifican son:
- s segundos
- m minutos
- h horas
- d días
Opciones
--help Muestra la ayuda y sale
--version Salida de la información de la versión y sale
Ayuda y manual
sleep --help
man sleep
Ejemplos de como se usa
El punto y coma (;) en bash sirve para dar varias ordenes en una sola línea; esto es útil en la terminal. En un script se puede usar el punto y coma y los saltos de línea para separar las ordenes.
a) Cuando escribimos exit en una terminal, la cierra. Si yo quisiera que eso pasara en un tiempo de 3 segundos, escribo:
sleep 3s; exit
También pude haber escrito:
sleep 3; exit
porque por defecto sleep el tiempo lo toma como segundos.
b) Imprimir "Esta es la información de [nombre de usuario]" y después de ella los datos. Todo con un retardo de 1 minuto.
sleep 1m; echo "Esta es la información de `uname -n`"; uname -a
Imprime algo como esto:
Esta es la información de travesuras
Linux travesuras 2.6.32-18-generic #27-Ubuntu SMP Fri Mar 26 21:13:44 UTC 2010 x86_64 GNU/Linux
c) Abrir un programa al terminar la cuenta regresiva y además liberar la terminal.
Abrir el gedit al cabo de 30 segundos.
sleep 30s; gedit &
Nota: La terminal queda libre para ejecutar otros comandos por el ampersand (&).