Skip to main content

Come usare il comando "sleep" di Linux per mettere in pausa uno script BASH

Siri Shortcuts (Comandi) di iOS 12 - Ecco come FUNZIONA! [+5 Migliori Comandi] (Aprile 2025)

Siri Shortcuts (Comandi) di iOS 12 - Ecco come FUNZIONA! [+5 Migliori Comandi] (Aprile 2025)
Anonim

Questa guida mostra come utilizzare il comando di sospensione di Linux per mettere in pausa uno script di bash.

Di per sé, il comando di sospensione è completamente inutile a meno che non ti piaccia bloccare la finestra del terminale, ma come parte di uno script, può essere usato in molti modi diversi, incluso come fattore di pausa prima di riprovare un comando.

Ad esempio, immagina di avere uno script che elabora file copiati da un altro server. Lo script non dovrebbe avviare il processo di copia finché tutti i file non hanno completato il download. Il processo di download viene eseguito da uno script completamente separato.

Lo script per copiare i file potrebbe contenere un ciclo per verificare se tutti i file sono stati scaricati (cioè sa che dovrebbero esserci 50 file e quando sono stati trovati 50 file, il processo di copia è avviato).

Non c'è alcun motivo per cui lo script viene continuamente testato, poiché richiede tempo del processore. Invece, potresti decidere di verificare se ci sono abbastanza file copiati e se non ci sono, fermati per qualche minuto e poi riprova. Il comando del sonno è perfetto in queste circostanze.

Come usare il comando di sonno

Per usare il comando di sospensione di Linux, inserisci quanto segue nella finestra del terminale:

dormire 5s

Il comando precedente farà fermare il terminale per 5 secondi prima di tornare alla riga di comando.

Il comando sleep richiede la parola chiave "sleep" seguita dal numero che si desidera sospendere e quindi dall'unità di misura.

È possibile specificare il ritardo in secondi, minuti, ore o giorni.

  • s - secondi
  • m - minuti
  • h - ore
  • d - giorni

Quando si tratta di giorni in attesa che qualcosa accada, potrebbe valere la pena considerare l'utilizzo di un cron job per eseguire lo script a intervalli regolari, invece di avere uno script in esecuzione in background per giorni e giorni.

Il numero per il comando di sospensione non deve essere un numero intero. Puoi anche usare numeri in virgola mobile.

Ad esempio, è perfettamente corretto utilizzare la seguente sintassi:

dormire 3,5s

Un esempio di utilizzo per il comando di sonno

Il seguente script mostra come utilizzare il comando sleep per creare un conto alla rovescia basato sul terminale:

#! / Bin / bashx = 10mentre $ x -gt 0faredormire 1schiaroecho "$ x secondi fino a esplosione"x = $ (($ x - 1))fatto

Lo script imposta la variabile x su 10. Il ciclo while continuerà a scorrere mentre il valore di x è maggiore di zero.

Il comando sleep sospende lo script per 1 secondo ogni volta attorno al ciclo.

Il resto dello script cancella lo schermo ogni iterazione, visualizza il messaggio "x secondi fino a saltare" (cioè 10) e quindi sottrae 1 dal valore di x.

Senza il comando sleep, lo script eseguiva lo zoom e i messaggi venivano visualizzati troppo velocemente.

Interruttori

Il comando di sospensione ha solo un paio di interruttori.

L'opzione --help mostra il file della guida per il comando sleep. Puoi ottenere la stessa cosa usando il comando man come segue:

l'uomo dorme

Il comando --version mostra la versione del comando sleep installata sul tuo sistema.

Le informazioni restituite da --version switch sono le seguenti:

  • Numero della versione
  • Dettagli sul copyright
  • Licenza
  • autori