Linux parancsok

BASH esetparancs

BASH esetparancs

A Bash case paranccsal megfelelő intézkedéseket hozhatunk az adatok összehasonlításával, mint például az if utasítás. Úgy működik, mint más szabványos programozási nyelvek váltó-eset kijelentése. Ez a parancs az 'case' utasítással kezdődik, és az 'esac' utasítással zárul. Nem használunk break utasítást az eset parancsban, és a dupla zárójelben (;;) meg kell említeni az utasításokat az adott illesztéshez. Ez a parancs kibontja a kifejezést, és megpróbál egyeztetni a megadott mintával, és a parancs kilépési állapotkódja nulla lesz, ha nem található egyezés. Néhány gyakori példa az esetekre ebben az oktatóanyagban található.

1. példa: egyszerű esetleírás

A bash case parancsban egyetlen feltételes kifejezést használnak a kimenet előállítására az egyező feltétel alapján. Hozzon létre egy bash fájlt eset1.SH a következő bash forgatókönyvvel. A szkript egy string értéket vesz fel, és az értéket minden kifejezéshez illeszti. A következő szkript létrehozza a „Nincs bejegyzés található” lehetőséget, ha nem létezik megfelelő kifejezés,
eset1.SH

#!/ bin / bash
echo "Írja be a nevét"
olvassa el a nevet
eset $ név
Igenmin)
visszhang: "Kedvenc színed a kék" ;;
Fahmida)
visszhang "A kedvenc italod a Sprite" ;;
*)
echo "Nincs bejegyzés található" ;;
esac

Futtassa a szkriptet.

$ bash eset.SH

Kimenet:

A kimenet teszteléséhez a fájl itt érvényes és érvénytelen bemenettel kerül végrehajtásra.

2. példa: többszörös esetmeghatározás csővel

Többféle kifejezés is alkalmazható a bash szkriptben különböző típusú utasítások végrehajtására. A Pipe (|) szimbólum a több kifejezés hozzárendeléséhez használható. Hozzon létre egy bash fájlt eset2.SH a következő forgatókönyvvel. A szkript futtatása után, ha a bemeneti érték megegyezik valamilyen kifejezéssel, akkor a megfelelő szövegérték kinyomtatásra kerül.
eset2.SH

#!/ bin / bash
echo "Írja be az azonosító számát"
olvassa el az azonosítót
eset $ ID
65341)
echo "Az Ön pozíciója 1." ;;
97564 | 88453)
visszhang "Az Ön pozíciója 2." ;;
45087)
visszhang "Az Ön pozíciója 3." ;;
*)
echo "Érvénytelen azonosító" ;;
esac

Futtassa a szkriptet .

$ bash eset2.SH

Kimenet:

Ez a szkript is úgy működik, mint az előző példa. Az egyetlen különbség az, hogy a több kifejezésértéket egyetlen kimenetre tesztelik.

3. példa: Hogyan lehet kilépni a case / esac utasításblokkból

Ha a bash eset parancsot egy végtelen hurok alatt használják, akkor a kilépés parancsot kell használni a hurok befejezéséhez. Ez a példa bemutatja, hogy az ilyen típusú feladatok hogyan hajthatók végre. Hozzon létre egy szöveges fájlt eset3.SH a következő forgatókönyvvel. Ez a szkript bármely számot 1-től 3-ig fog bevinni. Ha a bemenet 1, akkor két számot adunk hozzá, ha a bemenet 2, akkor két számot kivonunk, és ha a bemeneti szám 3, akkor két számot megszorzunk. A kimenet „Érvénytelen bejegyzés” lesz, ha a bemeneti szám több mint 3 vagy kevesebb, mint 1 vagy üres.
eset3.SH

#!/ bin / bash
#!/ bin / bash
míg (igaz)
csinálni
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
"1. vagy 2. vagy 3. típus" visszhang
olvasni ans
eset $ ans be
1) echo "$ a és $ b összege $ x & exit" ;;
2) echo "A $ a és $ b kivonása $ y & exit" ;;
3) echo "A $ a és $ b szorzata $ z & exit" ;;
*) echo "Érvénytelen bejegyzés"
esac
Kész

Futtassa a szkriptet.

$ bash eset3.SH

Kimenet:

A parancsfájl addig folytatódik, amíg a ctrl + c billentyűt meg nem nyomja.

4. példa: Az üres parancssori argumentum értékének ellenőrzése

Parancssori argumentumváltozó használható a bash case utasításban. Hozzon létre egy nevű fájlt eset4.SH a következő szkript segítségével, amely ellenőrzi a második argumentum változó értékét.

#!/ bin / bash
"$ 2" eset
"Ubuntu")
echo "A második érv $ 2."
;;
"CentOS")
echo "A második érv $ 2."
;;
"")
echo "A második érv üres."
;;
esac

Futtassa a szkriptet.

$ bash eset4.SH

Kimenet:

Itt a parancsfájl első alkalommal minden második parancssori argumentumérték nélkül kerül végrehajtásra, és a kimenet azt mutatja, hogy „A második argumentum üres”. Amikor a parancsfájl másodszor fut le egy második parancssori argumentumértékkel, akkor a kimenet nem jelenik meg.

5. példa: többszörös esetbemutatás felhasználói bemenet alapján

Hozzon létre egy bash fájlt 5. eset.SH a következő forgatókönyvvel. A szkript a hónap nevét veszi be felhasználói bevitelként. Ha a hónap neve bármilyen esetértékkel egyezik, akkor az Üzenet változóhoz egy adott szöveges üzenet kerül hozzárendelésre. A beviteli értéknek a teljes hónap névnek vagy három karakteres havi névnek kell lennie.

5. eset.SH

#!/ bin / bash
echo "Írja be a hónap nevét"
olvasási hónap
eset $ hónap
Január | január *)
Üzenet = "Február 21. a nemzetközi anyák napja."
;;
Február | február *)
Üzenet = "Február 21. a nemzetközi anyák napja."
;;
Március | március *)
Üzenet = "Március 9. a vesék világnapja."
;;
Április | ápr *)
Message = "Az aktuális hónap nem február"
;;
Május | május *)
Message = "Az aktuális hónap február"
;;
Június | június *)
Message = "Az aktuális hónap február"
;;
*)
Message = "Nem található egyező információ"
;;
esac
echo $ Üzenet

Futtassa a szkriptet.

$ bash eset5.SH

Kimenet:

A következő kimenet jelenik meg a bemeneti értéknél: „március” vagy „március”.

6. példa: Ellenőrizze a változót a bash case utasításban

Bármilyen karakterlánc-érték kinyomtatható a parancssori argumentumváltozó értékének ellenőrzésével. Hozzon létre egy szöveges fájlt 6. eset.SH a következő forgatókönyvvel. Ebben a példában az első argumentum változó értékét ellenőrizzük, és ha az érték üres, akkor egy karakterláncot nyomtatunk.

6. eset.SH

#!/ bin / bash
eset $ 1 in
("") visszhang "szeretem a bash programozást";
esac

Futtassa a szkriptet.

$ bash eset6.SH

Kimenet:

Ez a szkript első argumentumokkal és anélkül kerül végrehajtásra. Nem lesz kimenet, ha nem ad át parancssori argumentumváltozót.

Következtetés

A bash case parancs különböző felhasználási módjai bemutatásra kerülnek ebben a cikkben. Ha az olvasók ezeket a példákat megfelelően gyakorolják, akkor könnyebben meg tudnak oldani sok bash programozási problémát.

A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...
A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...