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 sleep
command sospende l'esecuzione del comando successivo per un determinato numero di secondi.
Il sleep
comando è utile quando viene 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 sleep
di Linux comando.
Come usare il sleep
Comando #
La sintassi per sleep
il comando è il seguente:
sleep NUMBER[SUFFIX]...
Il NUMBER
può essere un numero intero positivo o un numero a virgola mobile.
Il SUFFIX
può essere uno dei seguenti:
s
- secondi (predefinito)m
- minutih
- ored
- giorni
Quando non viene specificato alcun suffisso, il valore predefinito è secondi.
Quando vengono forniti due o più argomenti, il tempo totale è equivalente alla somma dei loro valori.
Ecco alcuni semplici esempi che dimostrano come utilizzare il sleep
comando:
-
Dormi per 5 secondi:
sleep 5
-
Sospensione per 0,5 secondi:
sleep 0.5
-
Dormi per 2 minuti e 30 secondi:
sleep 2m 30s
Esempi di script Bash #
In questa sezione, esamineremo alcuni script di shell di base per vedere come il sleep
viene utilizzato il comando.
#!/bin/bash
# start time
date +"%H:%M:%S"
# sleep for 5 seconds
sleep 5
# end time
date +"%H:%M:%S"
Quando esegui lo script, stampa l'ora corrente in HH:MM:SS
formato. Quindi il sleep
comando mette in pausa lo script per 5 secondi. Trascorso il periodo di tempo specificato, l'ultima riga dello script stampa l'ora corrente.
L'output sarà simile a questo:
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 controlla se un host è online o meno ogni 5 secondi. Quando l'host va online, lo script ti avviserà e si fermerà.
Come funziona lo script:
- Nella prima riga, stiamo creando un
while
infinito ciclo. - Quindi stiamo usando il
ping
comando per determinare se l'host con indirizzo IP èip_address
è raggiungibile o meno. - Se l'host è raggiungibile, lo script farà eco "L'host è online" e interromperà il ciclo.
- Se l'host non è raggiungibile,
sleep
il comando mette in pausa lo script per 5 secondi, quindi il ciclo ricomincia dall'inizio.
Conclusione #
Il sleep
command è uno dei comandi Linux più semplici. Viene utilizzato per sospendere l'esecuzione del comando successivo per un determinato periodo di tempo.
Se hai domande o feedback, sentiti libero di lasciare un commento.