androide

Come usare il comando sleep di linux per mettere in pausa uno script bash

NYSTV - The TRUE Age of the Earth Ancient Texts and Archaeological Proof Michael Mize

NYSTV - The TRUE Age of the Earth Ancient Texts and Archaeological Proof Michael Mize

Sommario:

Anonim

Sleep è un'utilità della riga di comando che consente di sospendere il processo di chiamata per un periodo di tempo specificato. In altre parole, il comando sleep mette in pausa l'esecuzione sul comando successivo per un determinato numero di secondi.

Il comando sleep è particolarmente utile quando utilizzato all'interno di uno script della shell bash, ad esempio quando si tenta di ripetere un'operazione non riuscita o all'interno di un ciclo.

In questo tutorial, ti mostreremo come usare il comando sleep di Linux.

Come utilizzare il comando sleep

La sintassi per il comando sleep è la seguente:

sleep NUMBER…

Il NUMBER può essere un numero intero positivo o un numero in virgola mobile.

Il SUFFIX può essere uno dei seguenti:

  • s - secondi (impostazione predefinita) m - minuti h - ore d - giorni

Quando non viene utilizzato nessun suffisso, il valore predefinito è secondi.

Quando vengono specificati due o più argomenti, la quantità totale di tempo è equivalente alla somma dei loro valori.

Ecco alcuni semplici esempi che dimostrano come utilizzare il comando sleep:

  • Dormire per 5 secondi:

    sleep 5

    Dormire per 0, 5 secondi:

    sleep 0.5

    Dormire per 2 minuti e 30 secondi:

    sleep 2m 30s

Esempi di script Bash

Di seguito è riportato l'esempio più basilare di come utilizzare il comando sleep negli script Bash. Quando si esegue lo script, l'ora corrente verrà stampata nel formato HH:MM:SS . Quindi il comando sleep sospenderà lo script per 5 secondi. Allo scadere del periodo di tempo specificato, l'ultima riga dello script stampa nuovamente l'ora corrente.

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

L'output sarà simile al seguente:

13:34:40 13:34:45

Diamo un'occhiata a un esempio più avanzato.

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

Lo script sopra verificherà se un host è online o meno ogni 5 secondi e quando l'host è online lo script ti avviserà e si fermerà.

Come funziona lo script:

  • Nella prima riga, stiamo creando un ciclo while infinito, quindi stiamo usando il comando ping per determinare se l'host con indirizzo IP di ip_address è raggiungibile oppure no. Se l'host è raggiungibile, lo script farà eco "L'host è online" e termina il ciclo. Se l'host non è raggiungibile, il comando sleep mette in pausa lo script per 5 secondi e quindi il ciclo inizia dall'inizio.

Conclusione

Ormai dovresti avere una buona conoscenza di come usare il comando sleep di Linux.

Il comando sleep è uno dei comandi shell più semplici, che accetta solo un argomento che viene utilizzato per specificare l'intervallo sleep.

terminale di sonno