Bash vs Python для DevOps инженеров и системных администраторов
Innholdsfortegnelse:
Bash case-uttalelser brukes vanligvis for å forenkle komplekse betingelser når du har flere forskjellige valg. Bruke sakserklæringen i stedet for å hekke om uttalelser vil hjelpe deg med å gjøre basskriptene dine mer leselige og enklere å vedlikeholde.
Uttalelsen fra Bash har et lignende konsept med uttalelsen Javascript eller C switch. Hovedforskjellen er at i motsetning til uttalelsen fra C-bryteren, fortsetter ikke Bash-saksetningen å søke etter en mønsterkamp når den har funnet en og utført utsagn knyttet til det mønsteret.
I denne opplæringen vil vi dekke det grunnleggende i uttalelsene fra Bash-saken og vise deg hvordan du bruker dem i skallskriptene dine.
Saksuttalelse syntaks
Uttalelsen fra Bash-saken har følgende form:
case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac
- Hver saksuttalelse starter med saksnøkkelordet etterfulgt av saksuttrykk og nøkkelordet. Uttalelsen slutter med
esac
nøkkelordet. Du kan bruke flere mønstre atskilt med|
operatør. Operatøren avslutter en mønsterliste. Et mønster kan ha spesialtegn. Et mønster og tilhørende kommandoer er kjent som en klausul. Hver klausul må avsluttes med;;
.Kommandoene som tilsvarer det første mønsteret som samsvarer med uttrykket, blir utført. Det er en vanlig praksis å bruke jokertegnens stjerne-symbol (*
) som et endelig mønster for å definere standardsaken. Dette mønsteret vil alltid samsvare. Hvis ikke noe mønster samsvarer, er returstatusen null. Ellers er returstatusen utgangsstatus for de utførte kommandoene.
Saksklæring Eksempel
Her er et eksempel som bruker saksuttalelsen i et basskript som vil skrive ut det offisielle språket i et gitt land:
languages.sh
#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac
Lagre det tilpassede skriptet som en fil og kjør det fra kommandolinjen.
bash languages.sh
Manuset ber deg om å komme inn i et land. Hvis du for eksempel skriver "Litauen", vil den samsvare med det første mønsteret og
echo
kommandoen i den leddet vil bli utført.
Skriptet vil skrive ut følgende utdata:
Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian
Enter the name of a country: Argentina The official language of Argentina is unknown
Konklusjon
Nå bør du ha en god forståelse av hvordan du skriver bash case-uttalelser. De brukes ofte til å overføre parametere til et skallskript fra kommandolinjen. For eksempel bruker init-skriptene saksuttalelser for å starte, stoppe eller starte tjenester på nytt.
Basert på "markedsforhold" og etter å ha fullført sin due diligence-prosess, besluttet Blockbuster at oppkjøpet ikke var i selskapets beste interesse, sier Jim Keyes, Blockbusters administrerende direktør og formann i en uttalelse om Tirsdag.

I februar tilbys Blockbuster så mye som 1,33 milliarder US $ for Circuit City, med prisen avhengig av en gjennomgang av sine poster. Tilbudet ser ut til å ha vært omstridt fra starten. Filmutleiefirmaet sa at det først gjorde tilbudet direkte til Circuit Citys administrerende direktør, men fikk ikke lov til å gjennomgå selskapets bøker for å fastsette en fast tilbudspris. Det gjorde tilbudet offentlig i håp om at aksjonærer kan presse selskapet til å forhandle en avtale.
"Til tross for fortsatt økonomisk usikkerhet på makronivå tror vi at utgifter til informasjonsinfrastruktur og virtuell infrastruktur teknologier vil fortsette å vokse, "sa Joe Tucci, EMCs leder, konsernsjef, i en utarbeidet uttalelse.

Salgsgevinstene økte også EMCs overskudd, med en nettoinntekt på $ 377,5 millioner, eller $ 0,18 per aksje, opp fra $ 334,4 millioner eller $ 0,16 per aksje , i fjorårets andre kvartal.
Bash if..else uttalelse

Beslutningsprosesser er et av de mest grunnleggende konseptene innen dataprogrammering. Som på alle andre programmeringsspråk, hvis, hvis..else, hvis..elif..else og nestes om utsagn i Bash kan brukes til å utføre kode basert på en viss betingelse.