Esta guía muestra cómo usar el comando de suspensión de Linux para pausar un script de bash.
Por sí solo, el comando de reposo es completamente inútil a menos que desee bloquear la ventana de su terminal, pero como parte de un script, se puede usar de muchas maneras diferentes, incluso como un factor de pausa antes de volver a intentar un comando.
Por ejemplo, imagina que tienes un script que procesa archivos copiados de otro servidor. El script no debe iniciar el proceso de copia hasta que todos los archivos hayan terminado de descargarse. El proceso de descarga se realiza mediante un script completamente separado.
La secuencia de comandos para copiar los archivos puede contener un bucle para comprobar si se han descargado todos los archivos (es decir, sabe que debería haber 50 archivos y cuando se han encontrado 50 archivos, se inicia el proceso de copia).
El script no tiene sentido probar continuamente, ya que toma tiempo de procesador. En su lugar, puede elegir probar si hay suficientes archivos copiados y, si no los hay, haga una pausa por unos minutos y vuelva a intentarlo. El comando del sueño es perfecto en estas circunstancias.
Cómo usar el comando dormir
Para usar el comando de suspensión de Linux, ingrese lo siguiente en la ventana del terminal:
dormir 5s
El comando anterior hará que su terminal se detenga por 5 segundos antes de regresar a la línea de comandos.
El comando de reposo requiere la palabra clave "reposo" seguida del número por el que desea hacer una pausa y luego la unidad de medida.
Puede especificar el retraso en segundos, minutos, horas o días.
- s - segundos
- m - minutos
- h - horas
- d - dias
Cuando se trata de días de espera para que algo suceda, podría valer la pena considerar el uso de un trabajo cron para ejecutar el script a intervalos regulares, en lugar de tener un script ejecutándose en segundo plano durante días.
El número para el comando de suspensión no tiene que ser un número entero. También puedes usar números de punto flotante.
Por ejemplo, está perfectamente bien usar la siguiente sintaxis:
Un ejemplo de uso para el comando de sueño
La siguiente secuencia de comandos muestra cómo usar el comando de suspensión para hacer un reloj de cuenta regresiva basado en terminal:
#! / bin / bashx = 10mientras que $ x -gt 0hacerdormir 1sclaroecho "$ x segundos hasta explotar"x = $ (($ x - 1))hecho La secuencia de comandos establece la variable x en 10. El bucle while continuará iterando mientras que el valor de x es mayor que cero. El comando de suspensión detiene la secuencia de comandos durante 1 segundo cada vez alrededor del bucle. El resto de la secuencia de comandos borra la pantalla cada iteración, muestra el mensaje "x segundos hasta que se elimine" (es decir, 10) y luego resta 1 del valor de x. Sin el comando de reposo, la secuencia de comandos se ampliaría y los mensajes se mostrarían demasiado rápido. El comando de dormir solo tiene un par de interruptores. El interruptor --help muestra el archivo de ayuda para el comando de suspensión. Puedes lograr lo mismo usando el comando man de la siguiente manera: hombre duerme El comando --version muestra la versión del comando sleep que está instalado en su sistema. La información devuelta por el interruptor --version es la siguiente: Interruptores