Androide

Cómo usar el comando linux sleep para pausar un script bash

8 cosas urgentes a hacer después de instalar Ubuntu 18.04 LTS Bionic Beaver

8 cosas urgentes a hacer después de instalar Ubuntu 18.04 LTS Bionic Beaver

Tabla de contenido:

Anonim

Sleep es una utilidad de línea de comandos que le permite suspender el proceso de llamada por un tiempo específico. En otras palabras, el comando de suspensión detiene la ejecución del siguiente comando durante un número determinado de segundos.

El comando sleep es especialmente útil cuando se usa dentro de un script de shell bash, por ejemplo, cuando se vuelve a intentar una operación fallida o dentro de un bucle.

En este tutorial, le mostraremos cómo usar el comando de suspensión de Linux.

Cómo usar el comando sleep

La sintaxis para el comando sleep es la siguiente:

sleep NUMBER…

El NUMBER puede ser un número entero positivo o un número de coma flotante.

El SUFFIX puede ser uno de los siguientes:

  • s - segundos (predeterminado) m - minutos h - horas d - días

Cuando no se usa sufijo, el valor predeterminado es segundos.

Cuando se especifican dos o más argumentos, la cantidad total de tiempo es equivalente a la suma de sus valores.

Aquí hay algunos ejemplos simples que demuestran cómo usar el comando sleep:

  • Duerme por 5 segundos:

    sleep 5

    Dormir durante 0.5 segundos:

    sleep 0.5

    Dormir durante 2 minutos y 30 segundos:

    sleep 2m 30s

Ejemplos de script Bash

A continuación se muestra el ejemplo más básico de cómo usar el comando de suspensión en sus scripts de Bash. Cuando ejecute el script, imprimirá la hora actual en formato HH:MM:SS . Luego, el comando de suspensión pausará el script durante 5 segundos. Cuando transcurre el período de tiempo especificado, la última línea del guión volverá a imprimir la hora actual.

#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"

La salida se verá más o menos así:

13:34:40 13:34:45

Echemos un vistazo a un ejemplo más avanzado.

#!/bin/bash while: do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done

El script anterior verificará si un host está en línea o no cada 5 segundos y cuando el host se conecte, el script le notificará y se detendrá.

Cómo funciona el guión:

  • En la primera línea, estamos creando un ciclo while infinito. Luego, estamos usando el comando ping para determinar si el host con la dirección IP de ip_address es accesible o no. Si el host es accesible, el script hará eco "Host está en línea" y finalice el ciclo. Si no se puede acceder al host, el comando de suspensión detiene el script durante 5 segundos y luego el ciclo comienza desde el principio.

Conclusión

En este momento, debe tener una buena comprensión de cómo usar el comando de suspensión de Linux.

El comando de suspensión es uno de los comandos de shell más simples, y solo acepta un argumento que se utiliza para especificar el intervalo de suspensión.

terminal de sueño