Bash-forskjell mellom vente og sove

Bash-forskjell mellom vente og sove
Bash er et kraftig skallskriptspråk som brukes i UNIX-baserte operativsystemer. De to av de mest brukte kommandoene i bash er vente og sove Og begge kommandoene brukes til å pause utførelsen av et bashskript, men de fungerer annerledes.

Denne artikkelen vil utforske forskjellene mellom vente og sove kommandoer i bash og gi eksempler for hver kommando.

Sleep Command

De sove Kommando brukes til å pause utførelsen av et skript i et spesifisert antall sekunder og brukes ofte til å introdusere forsinkelsene mellom kommandoer eller for å pause et skript før du fortsetter utførelsen, nedenfor er syntaks for sove kommando:

sove

Der sekunder er antall sekunder for å pause skriptet, for ytterligere illustrasjon har jeg gitt et eksempel på bash -kode som bare tar kodeutførelsen i 5 sekunder, her er et eksempel:

#!/bin/bash
ekko "Starter en langvarig prosess.""
# Pause i 5 sekunder
Sov 5
ekko "Fortsetter med manuset.""

Koden skriver ut en melding for å indikere at vi starter en langvarig prosess og deretter bruker søvnkommandoen for å pause skriptet i 5 sekunder før vi fortsetter med neste kommando og en gang sove Tiden er over skriptet vil fortsette utførelsen:

Vent kommando

De vente Kommando brukes til å pause utførelsen av et skript til alle barneprosesser er fullført. Det brukes ofte i forbindelse med & operatøren, som lar et skript utføre flere kommandoer samtidig, nedenfor er syntaks for vente kommando

vente

For ytterligere illustrasjon har jeg gitt et eksempel på bashode som bare venter på å utføre alle prosessene som kjører i bakgrunnen ved å bruke Wait -kommandoen, og når alle prosessene er fullført, skriver den ut en melding om oppgaven fullført:

#!/bin/bash
# Definer en funksjon som utfører en tidkrevende oppgave
funksjon TIME_CONSUMING_TASK
ekko "Start tidkrevende oppgave $ 1"
Sov $ 2
ekko "fullført tidkrevende oppgave $ 1"

# Start flere tidkrevende oppgaver i bakgrunnen
TIME_CONSUMING_TASK "Oppgave 1" 5 &
TIME_CONSUMING_TASK "Oppgave 2" 3 &
TIME_CONSUMING_TASK "Oppgave 3" 7 &
# Vent til alle bakgrunnsoppgaver fullfører
vente
# Skriv ut en melding som indikerer at alle oppgaver er fullført
ekko "Alle tidkrevende oppgaver er fullført.""

Her har vi definert en funksjon som heter TIME_CONSUMING_TASK som simulerer en tidkrevende oppgave ved å bruke sove Kommando for å pause utførelsen av skriptet i en spesifikk tid. Vi starter deretter flere forekomster av denne funksjonen i bakgrunnen ved hjelp av & symbolet.

Etter å ha startet bakgrunnsoppgavene, bruker vi vente Kommando for å pause utførelsen av skriptet til alle bakgrunnsoppgaver er fullført. Til slutt skriver vi ut en melding som indikerer at alle tidkrevende oppgaver er fullført:

Slik vente Kommando kan brukes til å kontrollere utførelsen av bakgrunnsoppgaver i bash. Ved å bruke Wait -kommandoen, kan vi sikre at skriptet vårt venter på at alle bakgrunnsoppgaver skal avsluttes før vi fortsetter med neste kommando. Dette kan være spesielt nyttig når vi trenger å utføre flere tidkrevende oppgaver parallelt og trenger å vente på at alle oppgaver skal fullføres før vi går videre til neste trinn

Forskjell mellom vent og sove

Nøkkelforskjellen mellom vente og sove er det vente brukes til å pause et skript til alle barneprosesser er fullført, mens sove brukes til å pause et skript i et spesifisert antall sekunder. De vente brukes vanligvis i forbindelse med & operatøren for å la et skript utføre flere kommandoer samtidig, mens sove brukes til å introdusere forsinkelser mellom kommandoer eller for å pause et skript før du fortsetter utførelsen.

Konklusjon

De vente og sove er to ofte brukte kommandoer i bash som brukes til å pause utførelsen av et skript. De vente brukes til å pause et skript til alle barneprosesser er fullført, mens sove brukes til å pause et skript i et spesifisert antall sekunder. Ved å forstå forskjellene mellom disse kommandoene, kan du bruke dem effektivt i bashskriptene dine for å forbedre effektiviteten og automatisere oppgaver.