GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo del comando di sospensione di Linux negli script Bash

Il comando sleep di Linux è uno dei comandi più semplici in circolazione. Come puoi intuire dal nome, la sua unica funzione è dormire. In altre parole, introduce un ritardo per un tempo specificato.

Quindi, se usi il comando sleep con x e il comando successivo può essere eseguito solo dopo x secondi.

Il comando Sleep ha una sintassi semplice:

sleep Number[Suffix]

Qui il suffisso potrebbe essere:

  • s per secondi. Questa è l'impostazione predefinita.
  • M per minuti.
  • h per ore.
  • d per giorni.

Vediamo alcuni esempi del comando sleep.

Esempi di comando di sospensione Bash

Sebbene tu possa usarlo direttamente in una shell, il comando sleep è comunemente usato per introdurre un ritardo nell'esecuzione di uno script bash. Mostrerò l'uso del comando sleep attraverso script bash di esempio.

Il comando di sospensione senza suffisso conta in secondi

Supponiamo di voler mettere in pausa il tuo script bash per 5 secondi, puoi usare la modalità di sospensione in questo modo:

sleep 5

In uno script bash di esempio, potrebbe apparire così:

!/bin/bash
echo "Sleeping for 5 seconds…"
sleep 5
echo "Completed"

Se lo esegui con il comando time, vedrai che lo script bash è stato effettivamente eseguito per (poco) più di 5 secondi.

time ./sleep.sh 
Sleeping for 5 seconds…
Completed

real    0m5.008s
user    0m0.000s
sys    0m0.007s

Comando sleep con suffisso minuto o ora o giorno

Puoi specificare il tempo di sonno in minuti nel modo seguente:

sleep 1m

Questo metterà in pausa lo script/la shell per un minuto. Se vuoi ritardare lo script in ore, puoi farlo con l'opzione h:

sleep 2h

Anche se vuoi mettere in pausa lo script bash per giorni, puoi farlo con il suffisso d:

sleep 5d

Questo potrebbe essere d'aiuto se vuoi correre a giorni alterni o giorni della settimana.

Comando sleep con una combinazione di secondi, minuti, ora e giorno

Non sei obbligato a utilizzare un solo suffisso alla volta. Puoi utilizzare più di un suffisso e la durata del sonno è la somma di tutti i suffissi.

Ad esempio, se utilizzi il seguente comando:

sleep 1h 10m 5s

Ciò manterrà lo script in attesa per 1 ora, 10 minuti e 5 secondi. Nota che il suffisso s è ancora facoltativo qui.

Suggerimento bonus:dormi meno di un secondo

Potresti aver notato che l'unità di tempo più piccola nel comando sleep è la seconda. Ma cosa succede se il tuo script bash va in pausa per millisecondi?

La cosa buona è che puoi usare la virgola mobile (punti decimali) con il comando sleep.

Quindi, se vuoi introdurre una pausa di 5 millisecondi, usala in questo modo:

sleep 0.005

Puoi anche utilizzare i punti decimali con altri suffissi.

sleep 1.5h 7.5m

Introdurrà un ritardo di 1 ora, 37 minuti e 30 secondi.

Spero che tu non abbia dormito durante la lettura di questi esempi di comando del sonno 😉

Se sei interessato allo scripting della shell, forse ti piacerebbe leggere anche sul confronto delle stringhe in bash. Se hai domande o suggerimenti, non esitare a chiedere.


Linux
  1. Come cancellare la cronologia di Bash su Linux

  2. Il comando di sospensione tramite il comando dello schermo non viene visualizzato in Ps?

  3. Come riavviare Linux utilizzando la riga di comando

  4. Utilizzo del comando ripgrep (rg) in Linux

  5. Esempi di utilizzo del comando dmsetup in Linux

Come utilizzare il comando echo negli script Bash in Linux

Tutorial sull'uso del comando Timeout su Linux

Pianifica i lavori in Linux con il comando 'at'

Utilizzo del comando Watch in Linux

Utilizzo del comando Linux Dirname negli script Bash

Utilizzo di cut su terminale Linux