Linuxi käsud

BASHi juhtumikäsu

BASHi juhtumikäsu

Bashi juhtumi käsku kasutatakse nõuetekohaste toimingute tegemiseks, võrreldes selliseid andmeid nagu if-lause. See töötab nagu teiste standardsete programmeerimiskeelte vahetamise juhtum. See käsk algab lausega 'case' ja sulgeb lause 'esac'. Case-i käsus ei kasutata ühtegi katkestuslauset ja kahekordse sulgudes (;;) on vaja lausete (de) mainimiseks mis tahes konkreetse sobitamise korral. See käsk laiendab avaldist ja püüab sobitada antud mustriga ning selle käsu väljumisolekukood on null, kui vastet ei leita. Selles õpetuses on toodud mõned juhtumilausete levinumad näited.

Näide 1: lihtne juhtumi avaldus

Üht tinglikku avaldist kasutatakse bashi juhtumi käsus väljundi genereerimiseks sobitamise tingimuse põhjal. Looge bash-fail nimega juhtum1.sh järgmise bashi skriptiga. Skript võtab stringi väärtuse ja sobitab väärtuse iga avaldisega. Kui ühtivat avaldist pole, genereerib järgmine skript „Kirjet ei leitud”,
juhtum1.sh

#!/ bin / bash
kaja "Sisestage oma nimi"
loe nime
juhtum $ nimi
Jahmin)
kaja "Teie lemmikvärv on sinine" ;;
Fahmida)
kaja "Teie lemmikjook on Sprite" ;;
*)
kaja "Sissekannet ei leitud" ;;
esac

Käivitage skript.

$ bashi juhtum.sh

Väljund:

Väljundi testimiseks käivitatakse fail kehtiva ja vale sisendiga.

Näide 2: mitu juhtumit koos toruga

Erinevat tüüpi lausete käivitamiseks saab bashi skriptis rakendada mitut juhtumi avaldist. Toru (|) sümbolit saab kasutada mitme avaldise määramiseks. Looge bash-fail nimega juhtum2.sh järgmise skriptiga. Kui skripti käivitamine sobib mõne avaldisega, siis prinditakse vastav tekstiväärtus.
juhtum2.sh

#!/ bin / bash
kaja "Sisestage oma ID-number"
loe ID-d
juhtum $ ID sisse
65341)
kaja "Teie positsioon on 1." ;;
97564 | 88453)
kaja "Teie positsioon on 2." ;;
45087)
kaja "Teie positsioon on kolmas" ;;
*)
kaja "Vale ID" ;;
esac

Käivitage skript .

$ bashi juhtum2.sh

Väljund:

See skript töötab ka nagu eelmine näide. Ainus erinevus on see, et mitu väljundväärtust testitakse ühe väljundi jaoks.

Näide 3: Kuidas juhtumi / esac-lause plokist väljuda

Kui käsku bash case kasutatakse lõpmatu silmuse all, tuleb loopi lõpetamiseks kasutada käsku exit. See näide näitab, kuidas seda tüüpi ülesandeid saab teha. Looge nimega tekstifail juhtum3.sh järgmise skriptiga. Selle skripti jaoks on sisendiks ükskõik milline arv 1–3. Kui sisend on 1, lisatakse kaks numbrit, kui sisend on 2, lahutatakse kaks numbrit ja kui sisendi number on 3, korrutatakse kaks numbrit. Väljundiks on vale sisestus, kui sisendi number on üle 3 või väiksem kui 1 või tühi.
juhtum3.sh

#!/ bin / bash
#!/ bin / bash
samas (tõsi)
tegema
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
kaja "tüüp 1, 2 või 3"
loe ans
juhtum $ ans sisse
1) kaja "$ a ja $ b summa on $ x & exit" ;;
2) kaja "$ a ja $ b lahutamine on $ y & exit" ;;
3) kaja "$ a ja $ b korrutamine on $ z & exit" ;;
*) kaja "Vale sisestus"
esac
tehtud

Käivitage skript.

$ bashi juhtum3.sh

Väljund:

Skripti täitmine jätkub seni, kuni vajutatakse klahve Ctrl + c.

Näide 4: tühja käsurea argumendi väärtuse kontrollimine

Käsurea argumentide muutujat saab kasutada bashi juhtumi avalduses. Looge fail nimega juhtum4.sh järgmise skriptiga, mis kontrollib teise argumendi muutuja väärtust.

#!/ bin / bash
juhtum "$ 2"
"Ubuntu")
kaja "Teine argument on 2 dollarit."
;;
"CentOS")
kaja "Teine argument on 2 dollarit."
;;
"")
kaja "Teine argument on tühi."
;;
esac

Käivitage skript.

$ bashi juhtum4.sh

Väljund:

Siin käivitatakse skript esimest korda ilma teise käsurea argumendi väärtuseta ja väljundis on kiri "Teine argument on tühi". Kui skript käivitatakse teise käsurea argumendi väärtusega teist korda, siis väljundit ei kuvata.

Näide 5: kasutaja sisendil põhinev mitu juhtumit

Looge bash-fail nimega juhtum5.sh järgmise skriptiga. Skript võtab kasutaja sisendiks kuu nime. Kui kuu nimi sobib mis tahes juhtumi väärtusega, määratakse muutujale Sõnum konkreetne tekstsõnum. Sisendväärtus peab olema kogu kuu nimi või kolme tähemärgiga kuu nimi.

juhtum5.sh

#!/ bin / bash
kaja "Sisestage kuu nimi"
loetud kuu
juhtum $ kuu aastal
Jaanuar | jaanuar *)
Sõnum = "21. veebruar on meie rahvusvaheline emadepäev."
;;
Veebruar | veebruar *)
Sõnum = "21. veebruar on meie rahvusvaheline emadepäev."
;;
Märts | märts *)
Sõnum = "9. märts on ülemaailmne neerupäev."
;;
Aprill | aprill *)
Message = "Praegune kuu pole veebruar"
;;
Mai | mai *)
Message = "Praegune kuu on veebruar"
;;
Juuni | juuni *)
Message = "Praegune kuu on veebruar"
;;
*)
Message = "Sobivat teavet ei leitud"
;;
esac
echo $ Sõnum

Käivitage skript.

$ bashi juhtum5.sh

Väljund:

Sisendväärtuse jaoks kuvatakse järgmine väljund: märts või märts.

Näide 6: kontrollige muutujat bashi juhtumi avalduses

Mis tahes stringi väärtust saab printida, kontrollides käsurea argumendi muutuja väärtust. Looge nimega tekstifail juhtum6.sh järgmise skriptiga. Selles näites kontrollitakse esimese argumendi muutuja väärtust ja kui väärtus on tühi, prinditakse string: "Mulle meeldib programmeerimine bash".

juhtum6.sh

#!/ bin / bash
juhtum $ 1 sisse
("") kaja "mulle meeldib bashi programmeerimine";
esac

Käivitage skript.

$ bashi juhtum.sh

Väljund:

See skript käivitatakse ilma esimeste argumentideta ja ilma. Kui ükski käsurea argumendi muutuja ei liigu, väljundit pole.

Järeldus

Selles artiklis on näidatud bashi juhtumi erinevad kasutusalad. Kui lugejad neid näiteid korralikult harjutavad, on neil lihtsam lahendada paljusid bashi programmeerimisprobleeme.

Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...
Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...