Sintassi del comando di sospensione:
numero di sonno[suffisso]
Puoi usare qualsiasi numero intero o frazionario come valore temporale. La parte del suffisso è facoltativa per questo comando. Se ometti il suffisso, il valore del tempo viene calcolato in secondi per impostazione predefinita. Puoi usare S, m, h e d come valore suffisso. I seguenti esempi mostrano l'uso del comando sleep con diversi suffissi.
Esempio 1: comando sleep senza suffisso
Nello script seguente, il comando sleep viene utilizzato con un valore numerico 2 viene utilizzato solo e nessun suffisso. Quindi, se esegui lo script, la stringa "Compito completato"verrà stampato dopo aver atteso 2 secondi.
#!/bin/bashecho "In attesa di 2 secondi… "
dormire 2
echo "Attività completata"
Esegui il file bash con tempo comando per mostrare i tre tipi di valori temporali per eseguire lo script. L'output mostra il tempo utilizzato da un sistema, utente e tempo reale.
$ time bash sleep1.shProduzione:
Esempio 2: comando sleep con suffisso minuto minute
Nello script seguente, 'm'è usato come suffisso con il comando sleep. Qui, il valore del tempo è 0.05 minuti. Dopo aver aspettato 0.05 minuti, "Compito completato"Il messaggio verrà stampato.
#!/bin/bashecho "Aspettando 0.05 minuti… "
dormi 0.05m
echo "Attività completata"
Esegui lo script con tempo comando come il primo esempio.
$ time bash sleep2.shProduzione:
Esempio 3: comando sleep con suffisso ora hour
Nello script seguente, 'h'è usato come suffisso con il comando sleep. Qui, il valore del tempo è 0.003 ora. Dopo aver aspettato 0.003 ora “Compito completato” dovrebbe essere stampato sullo schermo ma richiede più volte in realtà quando 'h' viene utilizzato il suffisso.
#!/bin/bashecho "Aspettando 0.003 ore… "
dormi 0.003h
echo "Attività completata"
$ time bash sleep3.sh
Produzione:
Esempio-4: comando sleep con loop
Puoi usare il comando di sospensione per vari scopi. Nell'esempio seguente, il comando sleep viene utilizzato con il ciclo while. Inizialmente, il valore della variabile n è impostato su 1 e il valore di n sarà incrementato di 1 per 4 volte in ogni 2 intervallo di secondi. Quindi, quando eseguirai lo script, ogni output apparirà dopo aver atteso 2 secondi.
#!/bin/bashn=1
mentre [ $n -lt 5 ]
fare
echo "Il valore di n ora è $n"
dormi 2 secondi
eco " "
((n=$n+1))
fatto
Produzione:
Esempio-5: comando sleep nel terminale con altri comandi
Supponiamo di voler eseguire più comandi e impostare l'intervallo di tempo fisso tra gli output di due comandi, quindi è possibile utilizzare il comando di sospensione per eseguire quell'attività. In questo esempio, il comando ls e pwd sono con dormire comando. Dopo aver eseguito il comando, ls Il comando mostrerà l'elenco delle directory della directory corrente e mostrerà il percorso della directory di lavoro corrente dopo aver atteso 2 secondi.
$ ls && sleep 2 && pwdProduzione:
Esempio 6: utilizzo del comando di sospensione dal prompt dei comandi
il comando sleep viene utilizzato tra due comandi echo nell'esempio seguente. Dopo l'esecuzione del comando verranno visualizzati tre valori temporali.
$ tempo (echo "Inizio"; sleep 5; echo "Fine")Produzione:
il comando sleep è un comando utile quando è necessario scrivere uno script bash con più comandi o attività, l'output di qualsiasi comando potrebbe richiedere una grande quantità di tempo e altri comandi devono attendere per completare l'attività del comando precedente. Ad esempio, si desidera scaricare file sequenziali e il download successivo non può essere avviato prima di aver completato il download precedente. In questo caso, è meglio sospendere il comando prima di ogni download per attendere il tempo prestabilito.