Diferenza di Bash tra attesa e sonno

Diferenza di Bash tra attesa e sonno
Bash è un potente linguaggio di scripting di shell utilizzato nei sistemi operativi basati su Unix. I due dei comandi più usati in Bash sono Aspettare E sonno ed entrambi i comandi sono usati per mettere in pausa l'esecuzione di uno script bash, ma funzionano in modo diverso.

Questo articolo esplorerà le differenze tra Aspettare E sonno comandi in bash e fornire esempi per ogni comando.

Comando del sonno

IL sonno Il comando viene utilizzato per mettere in pausa l'esecuzione di uno script per un numero specificato di secondi e viene spesso utilizzato per introdurre i ritardi tra i comandi o per mettere in pausa uno script prima di continuare l'esecuzione, sotto è la sintassi per il sonno comando:

sonno

Laddove i secondi è il numero di secondi per mettere in pausa lo script, per ulteriori illustrazioni ho dato un codice bash di esempio che mette semplicemente in pausa l'esecuzione del codice per 5 secondi, ecco un esempio:

#!/Bin/Bash
Echo "Avvio di un processo di lunga durata."
# Pausa per 5 secondi
Sonno 5
Echo "Continuando con la sceneggiatura."

Il codice stampa un messaggio per indicare che stiamo avviando un processo di lunga durata e quindi utilizza il comando di sonno per mettere in pausa lo script per 5 secondi prima di continuare con il comando successivo e una volta che il sonno Il tempo è sopra lo script continuerà la sua esecuzione:

Aspetta comando

IL Aspettare Il comando viene utilizzato per mettere in pausa l'esecuzione di uno script fino al completamento di tutti i processi figlio. Viene spesso utilizzato in combinazione con l'operatore e che consente a uno script di eseguire più comandi contemporaneamente, di seguito è la sintassi per Aspettare comando

Aspettare

Per ulteriori illustrazioni ho dato un codice bash di esempio che attende solo per eseguire tutti i processi in background utilizzando il comando di attesa e una volta completati tutti i processi, stampa un messaggio di attività completato:

#!/Bin/Bash
# Definisci una funzione che svolge un'attività che richiede tempo
funzione time_consuming_task
Echo "Attività che richiede tempo $ 1"
Dormi $ 2
Echo "Attività di disposizione del tempo completata $ 1"

# Avvia più attività che richiedono tempo in background
time_consuming_task "Task 1" 5 &
time_consuming_task "Task 2" 3 &
time_consuming_task "Task 3" 7 &
# Attendere completare tutte le attività di sfondo
Aspettare
# Stampa un messaggio che indica che tutte le attività sono state completate
Echo "sono state completate tutte le attività che richiedono tempo."

Qui abbiamo definito una funzione chiamata time_consuming_task Ciò simula un compito che richiede tempo usando il sonno comanda di mettere in pausa l'esecuzione dello script per un periodo di tempo specificato. Quindi iniziamo più istanze di questa funzione in background usando il & Symbol.

Dopo aver iniziato le attività di sfondo, usiamo il Aspettare comanda di mettere in pausa l'esecuzione dello script fino a completare tutte le attività di fondo. Infine, stampiamo un messaggio che indica che sono state completate tutte le attività che richiedono tempo:

Ecco come il Aspettare Il comando può essere utilizzato per controllare l'esecuzione di attività di fondo in bash. Utilizzando il comando di attesa, possiamo assicurarci che il nostro script attenda che tutte le attività di fondo finiscano prima di continuare con il comando successivo. Questo può essere particolarmente utile quando dobbiamo eseguire più compiti che richiedono tempo in parallelo e dobbiamo aspettare che tutte le attività si completino prima di passare al passaggio successivo

Differenza tra attesa e sonno

La differenza chiave tra Aspettare E sonno è questo Aspettare viene utilizzato per mettere in pausa uno script fino al completamento di tutti i processi figlio, mentre sonno viene utilizzato per mettere in pausa uno script per un numero specificato di secondi. IL Aspettare viene generalmente utilizzato insieme a l'operatore e per consentire a uno script di eseguire più comandi contemporaneamente, mentre sonno viene utilizzato per introdurre ritardi tra comandi o per mettere in pausa uno script prima di continuare l'esecuzione.

Conclusione

IL Aspettare E sonno sono due comandi comunemente usati in bash che vengono utilizzati per mettere in pausa l'esecuzione di uno script. IL Aspettare viene utilizzato per mettere in pausa uno script fino al completamento di tutti i processi figlio, mentre sonno viene utilizzato per mettere in pausa uno script per un numero specificato di secondi. Comprendendo le differenze tra questi comandi, puoi usarli in modo efficace negli script bash per migliorare l'efficienza e automatizzare le attività.